Entering edit mode
Paul Boutros
▴
340
@paul-boutros-371
Last seen 10.2 years ago
Hello,
One question about normalizeWithinArrays(method="composite") function.
I am
getting an error with this method indicating I'm passing invalid
values. The
error and traceback are below.
The function predLoess seems to be in modreg, but I couldn't find much
detail
on it. I'm not sure if this is aproblem with passing in values where
R - Rb <
0 (which is the case for some of my data, and which I could filter
out), or if
there is some way to handle this? Any suggestions much appreciated.
R 1.7.1
limma 1.1.10
OS WinXP
Paul
### BEGIN SCREEN DUMP
> MA.within <- normalizeWithinArrays(RG, layout,
method="composite");
Error in predLoess(object$y, object$x, newx, object$s, object$weights,
:
NA/NaN/Inf in foreign function call (arg 3)
Execution halted
> traceback();
5: predLoess(object$y, object$x, newx, object$s, object$weights,
object$pars$robust, object$pars$span, object$pars$degree,
object$pars$normalize, object$pars$parametric,
object$pars$drop.square,
object$pars$surface, object$pars$cell, object$pars$family,
object$kd, object$divisor, se = se)
4: predict.loess(fit, newdata = x)
3: predict(fit, newdata = x)
2: switch(method, loess = {
for (j in 1:narrays) {
y <- object$M[, j]
x <- object$A[, j]
w <- weights[, j]
object$M[, j] <- loessFit(y, x, w, span = span, iterations
=
iterations)$residuals
}
}, printtiploess = {
if (is.null(layout))
stop("Layout argument not specified")
ngr <- layout$ngrid.r
ngc <- layout$ngrid.c
nspots <- layout$nspot.r * layout$nspot.c
for (j in 1:narrays) {
spots <- 1:nspots
for (gridr in 1:ngr) for (gridc in 1:ngc) {
y <- object$M[spots, j]
x <- object$A[spots, j]
w <- weights[spots, j]
object$M[spots, j] <- loessFit(y, x, w, span = span,
iterations = iterations)$residuals
spots <- spots + nspots
}
}
}, composite = {
if (is.null(layout))
stop("Layout argument not specified")
ntips <- layout$ngrid.r * layout$ngrid.c
nspots <- layout$nspot.r * layout$nspot.c
for (j in 1:narrays) {
y <- object$M[, j]
x <- object$A[, j]
w <- weights[, j]
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)
global <- predict(fit, newdata = x)
alpha <- (rank(x) - 1)/sum(!is.na(x))
spots <- 1:nspots
for (tip in 1:ntips) {
y <- object$M[spots, j]
x <- object$A[spots, j]
w <- weights[spots, j]
local <- loessFit(y, x, w, span = span, iterations =
iterations)
$fitted
object$M[spots, j] <- object$M[spots, j] - alpha[spots]
*
global[spots] - (1 - alpha[spots]) * local
spots <- spots + nspots
}
}
}, robustspline = {
if (is.null(layout))
stop("Layout argument not specified")
for (j in 1:narrays) object$M[, j] <-
normalizeRobustSpline(object$M[,
j], object$A[, j], layout, df = df, method = robust)
})
1: normalizeWithinArrays(RG, layout, method = "composite")
### END SCREEN DUMP