dCompound: function dCompound

Description Usage Arguments Details Author(s) References Examples

View source: R/dCompound.R

Description

Function dCompound calculates value of the pdf of the random variable X.

Usage

1
dCompound(x,parent,compound,compoundDist,params,...)

Arguments

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.

Details

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

Author(s)

S. Nadarajah, B.V. Popovic, M.M. Ristic

References

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/

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

Example output

Loading required package: hypergeo
[1] 0.3560671

Compounding documentation built on May 30, 2017, 4:02 a.m.