[BioC] Error using impute.knn function
Peter Davidsen
pkdavidsen at gmail.com
Sun Jul 8 19:28:15 CEST 2012
Dear List,
After quantile normalizing some Agilent microarray data I end up with
a data matrix containing missing values (as I choose to log2 transform
my matrix just before the normalization step).
Thus, I want to use the impute.knn() function in the impute package...
however, I keep getting an error that I haven't been able to solve.
> data.qnorm <- normalize.quantiles(log2(raw.filt))
Warning message:
In normalize.quantiles(log2(raw.filt)) : NaNs produced
> ok <- complete.cases(data.qnorm)
> sum(!ok)
[1] 1897
> NA.probes <- apply(data.qnorm, 1, function(x)length(which(is.finite(x) == FALSE)))
> table(NA.probes)
NA.probes
0 1 2 3 4
59123 2379 145 9 1
>
> qnorm.impute <- impute.knn(data.qnorm)
Error in twomeans.miss(x) : NA/NaN/Inf in foreign function call (arg 1)
Calls: impute.knn ... knnimp -> knnimp.split -> twomeans.miss -> .Fortran
> traceback()
5: .Fortran("twomis", x, as.integer(p), as.integer(n), imiss, double(2 *
n), integer(2 * n), as.integer(maxit), as.double(eps),
as.integer(starters),
cluster = integer(2 * p), nsize = integer(2), double(2 *
p), ratio = double(1), iter = integer(1), integer(p),
integer(n), PACKAGE = "impute")
4: twomeans.miss(x)
3: knnimp.split(x, k, imiss, irmiss, p, n, maxp = maxp)
2: knnimp(x, k, maxmiss = rowmax, maxp = maxp)
1: impute.knn(data.qnorm)
Any inputs are appreciated.
Regards,
Peter
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] impute_1.30.0 preprocessCore_1.18.0 marray_1.34.0
limma_3.12.1
[5] BiocInstaller_1.4.7
loaded via a namespace (and not attached):
[1] tools_2.15.1
More information about the Bioconductor
mailing list