zscore: Transform non-normal random deviates to standard normal

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

View source: R/zscore.R

Description

Compute z-score equivalents of non-normal random deviates.

Usage

1
2
3
zscore(q, distribution, ...)
zscoreGamma(q, shape, rate = 1, scale = 1/rate) 
zscoreHyper(q, m, n, k) 

Arguments

q

numeric vector or matrix giving deviates of a random variable

distribution

character name of probabability distribution for which a cumulative distribution function exists

...

other arguments specify distributional parameters and are passed to the cumulative distribution function

shape

gamma shape parameter (>0)

rate

gamma rate parameter (>0)

scale

gamma scale parameter (>0)

m

as for qhyper

n

as for qhyper

k

as for qhyper

Details

These functions compute the standard normal deviates which have the same quantiles as the given values in the specified distribution. For example, if z <- zscoreGamma(x, shape, rate) then pnorm(z) equals pgamma(x, shape, rate).

zscore works for any distribution for which a cumulative distribution function (like pnorm) exists in R. The argument distribution is the name of the cumulative distribution function with the "p" removed.

zscoreGamma and zscoreHyper are specific functions for the gamma and hypergeometric distributions respectively.

The transformation to z-scores is done by converting to log tail probabilities, and then using qnorm. For numerical accuracy, the left or right tail is used, depending on which is likely to be smaller.

Value

Numeric vector or matrix of equivalent deviates from the standard normal distribution.

Author(s)

Gordon Smyth

See Also

zscoreT.

zscoreNBinom in the edgeR package.

qnorm in the stats package.

Examples

1
2
3
4
# These are all equivalent
zscore(c(1,2.5), dist="gamma", shape=0.5, scale=2)
zscore(c(1,2.5), dist="chisq", df=1)
zscoreGamma(c(1,2.5), shape=0.5, scale=2)

hdeberg/limma documentation built on Dec. 20, 2021, 3:43 p.m.