Дискретизация в R с пакетом arules
Я использую пакет arules для дискретизации моих непрерывных переменных во фрейме данных. Я использую эту конкретную линию
дискретизация (данные 1, категории = 3)
но это дает мне ошибку
Ошибка в cut.default(x,k2): k2 должно быть числовым
Я просто пытаюсь преобразовать мои непрерывные переменные из фрейма данных "data1" в дискретные переменные с 3 ячейками. Любая помощь будет оценена... спасибо заранее
3 ответа
Проверьте этот код:
library(arules)
data1 <- sample(1:30,100,replace = T)
res <- discretize(data1,categories = 3)
Работает правильно. Проверьте
class(data1)
Должен быть целым или числовым
Это сработало для меня:
data1.Disc <- as.data.frame(lapply(data1,
function(x) discretize(x, categories=5)
)
)
Вы также можете использовать функцию dplyr mutate_if. Это сработало для меня:
data1 <- data1 %>% mutate_if(is.numeric, funs(discretize(., method="frequency", categories=3)))