# trun.r: Generates Random Values from a Truncated Density Function of... In gamlss.tr: Generating and Fitting Truncated `gamlss.family' Distributions

## Description

Creates a function to generate randon values from a truncated probability density function created from a current GAMLSS family distribution

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).

## Usage

 ```1 2``` ```trun.r(par, family = "NO", 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`. Functions such as BI() (binomial) produce a family object. `type` whether `left`, `right` or in `both` sides truncation is required, (left is the default) `varying` whether the truncation varies for diferent observations. This can be usefull 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

## Value

Returns a r family function

## Author(s)

Mikis Stasinopoulos [email protected] and Bob Rigby

## 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/).

`trun.p`, `trun.q`, `trun.d`, `gen.trun`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70``` ```# trucated r function # continuous #---------------------------------------------------------------------------------------- # left test1<-trun.r(par=c(0), family="TF", type="left") rr<-test1(1000) hist(rr) #---------------------------------------------------------------------------------------- # right test2 <- trun.r(par=c(10), family="BCT", type="right") rr<-test2(1000) hist(rr) #---------------------------------------------------------------------------------------- # both test3<-trun.r(par=c(-3,3), family="TF", type="both") rr<-test3(1000) hist(rr) #---------------------------------------------------------------------------------------- # discrete # trucated r function # left test4<-trun.r(par=c(0), family="PO", type="left") tN <- table(Ni <- test4(1000)) r <- barplot(tN, col='lightblue') #---------------------------------------------------------------------------------------- # right test5 <- trun.r(par=c(10), family="NBI", type="right") tN <- table(Ni <- test5(1000)) r <- barplot(tN, col='lightblue') tN <- table(Ni <- test5(1000,mu=5)) r <- barplot(tN, col='lightblue') tN <- table(Ni <- test5(1000,mu=10, sigma=.1)) r <- barplot(tN, col='lightblue') #---------------------------------------------------------------------------------------- # both test6<-trun.r(par=c(0,10), family="NBI", type="both") tN <- table(Ni <- test6(1000,mu=5)) r <- barplot(tN, col='lightblue') #---------------------------------------------------------------------------------------- # varying = TRUE #---------------------------------------------------------------------------------------- # continuous #---------------------------------------------------------------------------------------- # left test7<-trun.r(par=c(0,1,2), family="TF", type="left", varying=TRUE) test7(3) #---------------------------------------------------------------------------------------- # right test8 <- trun.r(par=c(10,11,12), family="BCT", type="right", varying=TRUE) test8(3) #---------------------------------------------------------------------------------------- # both test9<-trun.r(par=rbind(c(-3,3), c(-1,5), c(0,6)), , family="TF", type="both", varying=TRUE) test9(3) #---------------------------------------------------------------------------------------- # discrete # trucated r function # left test10<-trun.r(par=c(0,1,2), family="PO", type="left", varying=TRUE) test10(3) #---------------------------------------------------------------------------------------- # right test11 <- trun.r(par=c(10,11,12), family="NBI", type="right", varying=TRUE) test11(3) test11(3, mu=10, sigma=.1) #---------------------------------------------------------------------------------------- # both test12<-trun.r(par=rbind(c(0,10), c(1,11), c(2,12)), family="NBI", type="both", varying=TRUE) test12(3,mu=5) ```

### Example output

```Loading required package: gamlss.dist

Attaching package: 'gamlss.data'

The following object is masked from 'package:datasets':

sleep

**********   GAMLSS Version 5.1-3  **********
For more on GAMLSS look at http://www.gamlss.org/
Type gamlssNews() to see new features/changes/bug fixes.

[1] 0.2287894 1.0333779 2.3581304
[1] 5.314717 5.516112 3.725822
[1] 0.00104402 0.90306545 1.10127541
[1] 1 2 3
[1] 1 1 2
[1]  4 11  8
[1] 5 3 4
```

gamlss.tr documentation built on May 2, 2019, 7:15 a.m.