# gen.trun {gamlss.tr}

### Description

The `gen.trun()`

function allows the user to generate `d`

, `p`

, `q`

, and `r`

distribution functions plus an extra `gamlss.family`

function for fitting a truncated distribution with `gamlss`

.

For continuous distributions left truncation at 3 means that the random variable can take the value 3. For discrete distributions left truncation at 3 means that the random variable can take values from 4 onwards. This is the same for right truncation. Truncation at 15 for a discrete variable means that 15 and greater values are not allowed but for continuous variable it mean values greater that 15 are not allowed (so 15 is a possible value).

If the user want a different link (rather the default) for any of the parameters she/he has to declare at the generation of the functions, see example.

### Usage

gen.trun(par = c(0), family = "NO", name = "tr", type = c("left", "right", "both"), varying = FALSE,...)

### Arguments

- par
- a vector with one (for
`"left"`

or`"right"`

truncation) or two elements for`"both"`

. When the argument`varying = TRUE`

then`par`

can be a vector or a matrix with two columns respectively. - family
- a
`gamlss.family`

object, which is used to define the distribution and the link functions of the various parameters. The distribution families supported by`gamlss()`

can be found in`gamlss.family`

. - name
- the extra characters to be added to the name of new truncated distribution, by default it adds
`tr`

- type
- whether
`"left"`

,`"right"`

or in`"both"`

sides truncation is required - varying
- whether the truncation varies for different observations. This can be useful in regression analysis. If
`varying = TRUE`

then`par`

should be an n-length vector for`type`

equal`"left"`

and`"right"`

and an n by 2 matrix for`type="both"`

- ...
- for extra arguments

### Values

Returns the `d`

, the `p`

, the `q`

, the `r`

and the fitting functions of a truncated `gamlss.family`

distribution.

### References

Rigby, R. A. and Stasinopoulos D. M. (2005). Generalized additive models for location, scale and shape,(with discussion), *Appl. Statist.*, **54**, part 3, pp 507-554.

Stasinopoulos D. M., Rigby R.A. and Akantziliotou C. (2003) Instructions on how to use the GAMLSS package in R. Accompanying documentation in the current GAMLSS help files, (see also http://www.gamlss.org/).

### See Also

`trun.d`

, `trun.p`

, `trun.q`

, `trun.r`

### Examples

# generating a t-distribution from 0 to 100 gen.trun(par=c(0,100),family="TF", name="0to100", type="both") op<-par(mfrow=c(2,2)) plot(function(x) dTF0to100(x, mu=80 ,sigma=20, nu=5), 0, 100, ylab="pdf") plot(function(x) pTF0to100(x, mu=80 ,sigma=20, nu=5), 0, 100, ylab="cdf") plot(function(x) qTF0to100(x, mu=80 ,sigma=20, nu=5), 0.01, .999, ylab="invcdf") hist(s1<-rTF0to100(1000, mu=80 ,sigma=20, nu=5), ylab="hist", xlab="x", main="generated data") par(op) m1<-histDist(s1, family=TF0to100, xlim=c(0,100))# fitting the data # using the argumnt varying # left part varies right part equal 100 leftPAR <- rPO(100) gen.trun(par=cbind(leftPAR,rep(100, 100)),family="TF", name="0to100Varying", type="both", varying=TRUE) YY<- rTF0to100Varying(100, mu=80, sigma=20, nu=5) m1<-gamlss(YY~1, family=TF0to100Varying) m1

Documentation reproduced from package gamlss.tr, version 4.3-6. License: GPL-2 | GPL-3