q2qnbinom: Quantile to Quantile Mapping between Negative-Binomial...

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

View source: R/q2qnbinom.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.

Author(s)

Gordon Smyth

See Also

equalizeLibSizes

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)

Example output

Loading required package: limma
[1] 28.67544
[1] 30

edgeR documentation built on Jan. 16, 2021, 2:03 a.m.