2017-01-06 16 views
1

preProcessを使用して欠損値を代入したい。コードは単純です。しかし、警告が発生し、knnImputeを使用できないようです。私は正しい説明をオンラインで見つけられませんでした。キャレットで予測関数を使用しているときのRの警告

library(mlbench) 
data(Soybean) 

library(caret) 
imputationObj <- preProcess(Soybean, method = c('knnImpute'), na.remove = FALSE) 
imputationObj 
imputedSoybean <- predict(imputationObj, Soybean) 
summary(imputedSoybean) 

>  Warning in pre_process_options(method, column_types) : 
>  The following pre-processing methods were eliminated: 'knnImpute', 'center', 'scale' 

答えて

2

問題は、データフレームSoybeanに要因が含まれていることです。 ?preProcessから、最初の引数は、

x マトリックスまたはデータフレームである必要があります。数値以外の予測子は使用できますが、無視されます。

しかし

R> class(Soybean[,2]) 
[1] "factor" 

別の言い方をするには、どのように値red,ブルーand green`を含む要因を中央ます。

関連する問題