edgeR (version 3.14.0)

# q2qnbinom: 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.

## Value

`x`, with `output.mean` as the new nominal population mean.

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

`equalizeLibSizes`

## Examples

Run this code
``````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)
``````

Run the code above in your browser using DataLab