我是 R 新手,但我正在尝试使用impute.knn()
来自库(估算)的 6 个最近邻来估计大型微阵列数据集中的缺失值。
这是一个例子:
seq1 <- seq(1:12)
mat1 <- matrix(seq1, 3)
mat1[2,2] <- "NA"
impute.knn(mat1, k=6)
我收到以下错误:
Error in knnimp.internal(x, k, imiss, irmiss, p, n, maxp = maxp) :
NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In storage.mode(x) <- "double" : NAs introduced by coercion
我还尝试了以下方法:
impute.knn(mat1[2,2], k=6)
我收到以下错误:
Error in rep(1, p) : invalid 'times' argument
我的google-fu今天已经关闭了。关于为什么我可能会收到此错误的任何建议?
编辑:我试过
mat1[2,2] <- NA
正如詹姆斯建议的那样,但我遇到了分段错误。使用
replace(mat1, mat1[2,2], NA)
也无济于事。还有其他建议吗?