gen.trun: Generates a truncated distribution from a gamlss.family

Description Usage Arguments Value Author(s) References See Also Examples

View source: R/gen.trun-21-06-13.R

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

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

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"

print

whether to print the names of the created distribution

...

for extra arguments

Value

Returns the d, the p, the q, the r and the fitting functions of a truncated gamlss.family distribution.

Author(s)

Mikis Stasinopoulos mikis.stasinopoulos@gamlss.org 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/).

See Also

trun.d, trun.p, trun.q, trun.r

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# 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

gamlss.tr documentation built on July 13, 2020, 5:07 p.m.