我想使用preProcess来填充缺失值。代码很简单。但是,发生了警告,似乎我不能使用knnImpute。我没能在网上找到正确的解释。
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'
答案 0 :(得分:3)
问题是数据框Soybean
包含因素。从?preProcess
开始,第一个参数应为
X 矩阵或数据框架。允许使用非数字预测变量,但会被忽略。
但
R> class(Soybean[,2])
[1] "factor"
换句话说,如何将包含值red,
蓝色and
绿色的值的因子居中。