# Robust Quantile Normalization

### Description

Using a normalization based upon quantiles, this function normalizes a matrix of probe level intensities. Allows weighting of chips

### Usage

1 2 3 4 5 6 |

### Arguments

`abatch` |
an |

`type` |
a string specifying how the normalization should be applied. See details for more. |

`weights` |
a vector of weights, one for each chip. |

`remove.extreme` |
if weights is NULL, then this will be used for determining which chips to remove from the calculation of the normalization distribution. See details for more info. |

`n.remove` |
number of chips to remove. |

`use.median` |
if TRUE, the use the median to compute normalization chip; otherwise uses a weighted mean. |

`use.log2` |
work on log2 scale. This means we will be using the geometric mean rather than ordinary mean. |

### Details

This method is based upon the concept of a quantile-quantile plot extended to n dimensions. Note that the matrix is of intensities not log intensities. The function performs better with raw intensities.

Choosing **variance** will remove chips with variances much higher
or lower than the other chips, **mean** removes chips with the mean
most different from all the other means, **both** removes first
extreme variance and then an extreme mean. The option **none** does
not remove any chips, but will assign equal weights to all chips.

The type argument should be one of
`"separate","pmonly","mmonly","together"`

which indicates whether
to normalize only one probe type (PM,MM) or both together or separately.

### Value

a matrix of normalized intensities

### Note

This function is still experimental.

### Author(s)

Ben Bolstad, bmb@bmbolstad.com

### See Also

`normalize`

, `normalize.quantiles`