在插入符号中使用预测函数时R中的警告

时间:2017-01-06 07:05:46

标签: r r-caret

我想使用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'

1 个答案:

答案 0 :(得分:3)

问题是数据框Soybean包含因素。从?preProcess开始,第一个参数应为

  

X   矩阵或数据框架。允许使用非数字预测变量,但会被忽略。

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

换句话说,如何将包含值red,蓝色and绿色的值的因子居中。