2017-01-06 3 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 a матрица или фрейм данных. Нечисловые предиктора допускаются, но будут игнорироваться.

но

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

Иными словами, как бы вы центрирования множитель, содержащий значение red, синий and green`.

Смежные вопросы