R与arules包的离散化

时间:2015-08-19 16:00:16

标签: r discretization

我正在使用arules包来离散数据框中的连续变量。 我正在使用这一特定的行

离散化(data1,categories = 3)

但它给我一个错误

cut.default(x,k2)中的错误:k2必须是数字

我只是想将我的连续变量从“data1”数据帧转换为3个bin离散变量。 任何帮助将不胜感激...提前感谢

3 个答案:

答案 0 :(得分:1)

检查此代码:

library(arules)
data1 <- sample(1:30,100,replace = T)
res <- discretize(data1,categories = 3)

它正常工作。检查

class(data1)

应该是整数数字

答案 1 :(得分:1)

这对我有用:

data1.Disc <- as.data.frame(lapply(data1, 
                                   function(x) discretize(x, categories=5)
                                   )
                           )

答案 2 :(得分:0)

您也可以使用dplyr mutate_if函数。这对我有用:

data1 <- data1 %>% mutate_if(is.numeric, funs(discretize(., method="frequency", categories=3)))