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

### Arguments

`x` |
A matrix of intensities, columns are chips, rows are probes |

`copy` |
Make a copy of matrix before normalizing. Usually safer to work with a copy |

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

Note that this function does not handle missing values (ie NA). Unexpected results might occur in this situation.

### Value

a matrix of normalized intensites

### Note

This function is still experimental.

### Author(s)

Ben Bolstad, bmb@bmbolstad.com

### See Also

`normalize.quantiles`