5

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

离散化(数据 1,类别 = 3)

但它给了我一个错误

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

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

4

3 回答 3

1

这对我来说可以离散所有列:

data1.Disc <- as.data.frame(lapply(data1, 
                                   function(x) discretize(x, categories=5)
                                   )
                           )
于 2017-03-31T07:25:16.910 回答
1

检查此代码:

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

它工作正常。查看

class(data1)

它应该是整数数字

于 2015-08-19T16:09:30.063 回答
0

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

data1 <- data1 %>% mutate_if(is.numeric, funs(discretize(., method="frequency", categories=3)))
于 2018-01-18T16:51:57.123 回答