dCompound {Compounding} | R Documentation |
Function dCompound calculates value of the pdf of the random variable X.
dCompound(x,parent,compound,compoundDist,params,...)
x |
vector of quantiles |
parent |
name of the parent distribution. It can be any continuous distribution supported by R. |
compound |
name of the compound distribution. It can be any discrete distribution supported by this package. |
compoundDist |
list of available compounding distributions |
params |
Parameter or list of parameters of compounding distribution. |
... |
Parameters of continuous distribution could be provided as additional parameters. |
Parameters of the parent distribution must be provided in the same way as it is in built in R functions. See http://127.0.0.1:23174/library/stats/html/Distributions.html
S. Nadarajah, B.V. Popovic, M.M. Ristic
S. Nadarajah, B.V. Popovic, M.M. Ristic (2012) Compounding: an R package for computing continuous distributions obtained by compounding a continuous and a discrete distribution, Computational Statistics, DOI 10.1007/s00180-012-0336-y, http://www.springerlink.com/content/6r464013w6mp3545/
compoundDist <- c("geometric","poisson","negativebinomial","binomial", "logarithmic","binomialbinomial","binomialpoisson", "poissonbinomial","neymantypea","polyaaeppli", "poissonpascal","pascalpoisson", "logarithmicbinomial","logarithmicpoisson", "poissonlindley", "hyperpoisson","yule","waring","kattitypeh1", "kattitypeh2","neymantypeb","neymantypec", "hypergeometric","thomas") q<-0.5 parentD<-"beta" compoundD<-"hypergeometric" params<-c(3,2,0.5) dCompound(q,parentD,compoundD,compoundDist,params,shape1=2,shape2=0.3) ## The function is currently defined as dCompound <- function(x,parent,compound,compoundDist,params,...) { if (!exists(paste("p",parent,sep=""))) { return(paste("The parent distribution",parent,"doesn't exist")) } if (!is.element(compound,compoundDist)) { return(paste("The discrete distribution",compound,"doesn't exist")) } xval <- real(length(x)) f <- get(paste("d", parent, sep = ""), mode = "function") F <- get(paste("p", parent, sep = ""), mode = "function") phi <- get(paste("pgf",compound,sep=""), mode = "function") phiD <- get(paste("pgfD",compound,sep=""), mode = "function") xval <- phiD(1-F(x,...),params)*f(x,...)/(1-phi(0,params)) return(xval) }