q2qnbinom: Quantile to Quantile Mapping between Negative-Binomial... In edgeR: Empirical Analysis of Digital Gene Expression Data in R

Description

Interpolated quantile to quantile mapping between negative-binomial distributions with the same dispersion but different means. The Poisson distribution is a special case.

Usage

 1 2 q2qpois(x, input.mean, output.mean) q2qnbinom(x, input.mean, output.mean, dispersion=0)

Arguments

 x numeric matrix of counts. input.mean numeric matrix of population means for x. If a vector, then of the same length as nrow(x). output.mean numeric matrix of population means for the output values. If a vector, then of the same length as nrow(x). dispersion numeric scalar, vector or matrix giving negative binomial dispersion values.

Details

This function finds the quantile with the same left and right tail probabilities relative to the output mean as x has relative to the input mean. q2qpois is equivalent to q2qnbinom with dispersion=0.

In principle, q2qnbinom gives similar results to calling pnbinom followed by qnbinom as in the example below. However this function avoids infinite values arising from rounding errors and does appropriate interpolation to return continuous values.

q2qnbinom is called by equalizeLibSizes to perform quantile-to-quantile normalization.

Value

numeric matrix of same dimensions as x, with output.mean as the new nominal population mean.

Gordon Smyth

Examples

 1 2 3 4 5 6 7 8 x <- 15 input.mean <- 10 output.mean <- 20 dispersion <- 0.1 q2qnbinom(x,input.mean,output.mean,dispersion) # Similar in principle: qnbinom(pnbinom(x,mu=input.mean,size=1/dispersion),mu=output.mean,size=1/dispersion)