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

## Author(s)

Gordon Smyth

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