Дискретизация в 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)))
Другие вопросы по тегам