【问题标题】:closed item set in data mining数据挖掘中的闭项集
【发布时间】: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


【解决方案1】:

替换

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)

ID=c("A123","A123","A123","A123","B456","B456","B456")
item=c("bread", "butter", "milk", "eggs", "meat","milk", "peas")
trans <- as(split(df$item, df$ID), "transactions")

解决了我的问题。 感谢@Sotos 的帮助。

【讨论】:

    猜你喜欢
    • 2014-01-25
    • 2011-07-13
    • 2015-11-14
    • 2014-03-17
    • 2014-05-18
    • 2011-02-07
    • 2014-02-11
    • 2013-06-11
    • 1970-01-01
    相关资源
    最近更新 更多