Learn R Programming

sadists (version 0.2.5)

prodnormal: The product of normal random variates.

Description

Density, distribution function, quantile function and random generation for the distribution of the product of indepdendent normal random variables.

Usage

dprodnormal(x, mu, sigma, log = FALSE, order.max=5)

pprodnormal(q, mu, sigma, lower.tail = TRUE, log.p = FALSE, order.max=5)

qprodnormal(p, mu, sigma, lower.tail = TRUE, log.p = FALSE, order.max=5)

rprodnormal(n, mu, sigma)

Value

dprodnormal gives the density, pprodnormal gives the distribution function, qprodnormal gives the quantile function, and rprodnormal generates random deviates.

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

Arguments

x, q

vector of quantiles.

mu

the vector of means. This is recycled against the sigma, but not against the x,q,p,n.

sigma

the vector of standard deviations. This is recycled against the mu, but not against the x,q,p,n.

log

logical; if TRUE, densities \(f\) are given as \(\mbox{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 \(\mbox{log}(p)\).

lower.tail

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

Author

Steven E. Pav shabbychef@gmail.com

Details

Let \(Z_i \sim \mathcal{N}\left(\mu_i, \sigma_i^2\right)\) be independently distributed normal variates, with means \(\mu_i\) and variances \(\sigma_i^2\). Suppose $$Y = \prod_i Z_i.$$ Then \(Y\) follows a product of normals distribution.

Examples

Run this code
mu <- c(100,20,10)
sigma <- c(10,50,10)
rvs <- rprodnormal(128, mu, sigma)
dvs <- dprodnormal(rvs, mu, sigma)
qvs <- pprodnormal(rvs, mu, sigma)
pvs <- qprodnormal(ppoints(length(rvs)), mu, sigma)

Run the code above in your browser using DataLab