【发布时间】:2018-05-07 02:36:41
【问题描述】:
我是使用 R 进行数据挖掘的新手,我想使用 arules 包查找数据集的频繁项集。我找到了这个示例,但它对我不起作用。
ID <- c("A123","A123","A123","A123","B456","B456","B456")
item <- c("bread", "butter", "milk", "eggs", "meat","milk", "peas")
df <- data.frame(ID = ID, item = item)
library(arules)
trans <- as(split(df$item, df$ID), "transactions")
我想要的结果是:
# items transactionID
# 1 {bread,butter,eggs,milk} A123
# 2 {meat,milk,peas} B456
我收到此错误:“df$item 中的错误:'closure' 类型的对象不是可子集的”
有解决此错误的想法或获取项目集的其他方法吗??
【问题讨论】:
-
为什么不只是
tapply(item, ID, toString)? -
你还没有创建
df对象,即as(split(item, ID), "transactions") -
在上述步骤之后,即如果你这样做
inspect(trans)应该得到预期的输出 -
@Sotos 我认为我需要将我的数据转换为矩阵或数据框而不是字符串的形式。感谢您的帮助:)
标签: r dataframe data-mining