我是R新手,但我試圖使用庫中的impute.knn()
來估計大型微陣列數據集中的缺失值)使用6個最近的鄰居。錯誤:在storage.mode(x)< - 「double」中:通過強制引入NAA
下面是一個例子:
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)
也沒有幫助。還有其他建議嗎?
沒有一個可重複的例子它可能是很多東西:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –
你使用什麼軟件包包含' impute.knn'? – James
我懷疑這個行'mat1 [2,2] < - 「NA」'是怪罪。 '「NA」'是一個字符串,嘗試使用'NA'。 – James