limma and composite normalization method
1
0
Entering edit mode
Diego Diez ▴ 760
@diego-diez-4520
Last seen 3.6 years ago
Japan
Hello all, I'm trying to use the composite method on limma_1.7.2 but I get an error when I normalizeWithinArrays: ---------------------------------------------------------------------- Error in predLoess(object$y, object$x, newx, object$s, object$weights, : NA/NaN/Inf in foreign function call (arg 3) ---------------------------------------------------------------------- I have NA values in my data. The "loess" function can handle NA's as it is done in normalizeWithinArrays: fit <- loess(y ~ x, weights = w, span = span, subset = controlspots, na.action = na.exclude, degree = 0, surface = "direct", family = "symmetric", trace.hat = "approximate", iterations = iterations) but I can't see the same to the "predict" function. I overrided that modifing normalizeWithinArrays as: global <- predict(fit, newdata = x) ---------------------------------------------- global <- predict(fit, newdata = x[!is.na(x)]) ?Is this a correct way to do that or did I miss something? Thanks in advance, D.
• 953 views
ADD COMMENT
0
Entering edit mode
@gordon-smyth
Last seen 3 hours ago
WEHI, Melbourne, Australia
> Hello all, > > I'm trying to use the composite method on limma_1.7.2 but I get an error > when I normalizeWithinArrays: You're right. This is a bug in limma that "composite" normalization doesn't tolerate missing values (amongst the the control spots). I'll fix it for limma 1.7.4 (not yet available). > ---------------------------------------------------------------------- > Error in predLoess(object$y, object$x, newx, object$s, object$weights, : > NA/NaN/Inf in foreign function call (arg 3) > ---------------------------------------------------------------------- > > > I have NA values in my data. The "loess" function can handle NA's as it > is done in normalizeWithinArrays: > > fit <- loess(y ~ x, weights = w, span = span, subset = controlspots, > na.action = na.exclude, degree = 0, surface = "direct", > family = "symmetric", trace.hat = "approximate", > iterations = iterations) > > but I can't see the same to the "predict" function. I overrided that > modifing normalizeWithinArrays as: > > global <- predict(fit, newdata = x) > ---------------------------------------------- > global <- predict(fit, newdata = x[!is.na(x)]) > > > ?Is this a correct way to do that or did I miss something? This is correct but you need a bit more as well. By the way, rather than using "composite" normalization I think it is usually more flexible and effective to simply up-weight the control spots in the ordinary normalization process. See modifyWeights(). Gordon > Thanks in advance, > > D.
ADD COMMENT

Login before adding your answer.

Traffic: 404 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6