q2qnbinom {edgeR} | R Documentation

## Quantile to Quantile Mapping between Negative-Binomial Distributions

### 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

    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

    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)

[Package edgeR version 3.20.9 Index]