ddnbeta: The doubly non-central Beta distribution.

Description Usage Arguments Details Value Note Author(s) See Also Examples

View source: R/dnbeta.r

Description

Density, distribution function, quantile function and random generation for the doubly non-central Beta distribution.

Usage

1
2
3
4
5
6
7
ddnbeta(x, df1, df2, ncp1, ncp2, log = FALSE, order.max=6)

pdnbeta(q, df1, df2, ncp1, ncp2, lower.tail = TRUE, log.p = FALSE, order.max=6)

qdnbeta(p, df1, df2, ncp1, ncp2, lower.tail = TRUE, log.p = FALSE, order.max=6)

rdnbeta(n, df1, df2, ncp1, ncp2)

Arguments

x, q

vector of quantiles.

df1, df2

the degrees of freedom for the numerator and denominator. We do not recycle these versus the x,q,p,n.

ncp1, ncp2

the non-centrality parameters for the numerator and denominator. We do not recycle these versus the x,q,p,n.

log

logical; if TRUE, densities f are given as log(f).

order.max

the order to use in the approximate density, distribution, and quantile computations, via the Gram-Charlier, Edeworth, or Cornish-Fisher expansion.

p

vector of probabilities.

n

number of observations.

log.p

logical; if TRUE, probabilities p are given as log(p).

lower.tail

logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x].

Details

Suppose x_i ~ X^2(delta_i,v_i) be independent non-central chi-squares for i=1,2. Then

Y = x_1 / (x_1 + x_2)

takes a doubly non-central Beta distribution with degrees of freedom v_1, v_2 and non-centrality parameters delta_1,delta_2.

Value

ddnbeta gives the density, pdnbeta gives the distribution function, qdnbeta gives the quantile function, and rdnbeta generates random deviates.

Invalid arguments will result in return value NaN with a warning.

Note

The PDF, CDF, and quantile function are approximated, via the Edgeworth or Cornish Fisher approximations, which may not be terribly accurate in the tails of the distribution. You are warned.

The distribution parameters are not recycled with respect to the x, p, q or n parameters, for, respectively, the density, distribution, quantile and generation functions. This is for simplicity of implementation and performance. It is, however, in contrast to the usual R idiom for dpqr functions.

Author(s)

Steven E. Pav [email protected]

See Also

(doubly non-central) F distribution functions, ddnf, pdnf, qdnf, rdnf.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
rv <- rdnbeta(500, df1=100,df2=500,ncp1=1.5,ncp2=12)
d1 <- ddnbeta(rv, df1=100,df2=500,ncp1=1.5,ncp2=12)
## Not run: 
plot(rv,d1)

## End(Not run)
p1 <- ddnbeta(rv, df1=100,df2=500,ncp1=1.5,ncp2=12)
# should be nearly uniform:
## Not run: 
plot(ecdf(p1))

## End(Not run)
q1 <- qdnbeta(ppoints(length(rv)), df1=100,df2=500,ncp1=1.5,ncp2=12)
## Not run: 
qqplot(x=rv,y=q1)

## End(Not run)

shabbychef/sadists documentation built on May 29, 2019, 8:06 p.m.