Solved – Error in knnImputation in r: Not sufficient complete cases for computing neighbors

I did the knn imputation following this post:
KNN imputation R packages

I met the error: Not sufficient complete cases for computing neighbors. Even when k = 1, this error occurs.

data.imputed <- knnImputation(data, k=3) Error in knnImputation(data) :  Not sufficient complete cases for computing neighbors. 

However the data should have sufficient complete cases. What's the problem?

dim(data) [1]  779 1558 sum(complete.cases(data)) [1] 600 

I feel like this question would better belong on StackOverflow but I'll give it a go anyway:

paraphrasing the code for knnImputation (https://gist.github.com/tengpeng/fb6809717361319d8bde), you get that error message under the following conditions:

xcomplete <- data[setdiff(1:nrow(data),which(!complete.cases(data))),] if (nrow(xcomplete) < k)     stop("Not sufficient complete cases for computing neighbors.") 

I suggest you check the value of nrow(xcomplete) is equal to 600.

EDIT: As described in PR#16648, complete.cases can lead to spurious errors when some columns have classes with length or is.na methods, for example "POSIXlt".

Similar Posts:

Rate this post

Leave a Comment