normalizeRobustSpline(M,A,layout=NULL,df=5,method="M")
"M"
for M-estimation or "MM"
for high breakdown point regressionThe original motivation for the robustspline method was to use whole-array information to moderate the normalization curves used for the individual print-tip groups. This was an important issue for academically printed spotted two-color microarrays, especially when some of the print-tip groups contained relatively few spots. In these situations, robust spline normalization ensures stable results even for print-tip groups with few spots.
Modern commercial two colour arrays do not usually have print tips, so in effect the whole array is a single print-tip group, and so the need for moderating individual curves is gone.
Robustspline normalization can still be used for data from these arrays, in which case a single normalization curve is estimated.
In this situation, the method is closely analogous to global loess, with a regression spline replacing the loess curve and with robust
regression replacing the loess robustifying weights.
Robust spline normalization with method="MM"
has potential advantages over global loess normalization when there a lot of differential expression or the differential expression is assymetric, because of the increased level of robustness.
The potential advantages of this approach have not been fully explored in a refereed publication however.
normalizeRobustSpline
uses ns
in the splines package to specify regression splines and rlm
in the MASS package for robust regression.This function is usually accessed through normalizeWithinArrays
.
An overview of LIMMA functions for normalization is given in 05.Normalization.
A <- 1:100
M <- rnorm(100)
normalized.M <- normalizeRobustSpline(M,A)
# Usual usage
## Not run: MA <- normalizeWithinArrays(RG, method="robustspline")
Run the code above in your browser using DataLab