16

我正在处理一些大型交易数据。我一直在使用 read.transactions 和 apriori(arules 包的一部分)来挖掘频繁的项目配对。

我的问题是:生成规则时(使用“inspect()”),我可以在 R 控制台中轻松查看它们。现在我手动将结果复制到一个文本文件中,然后在 excel 中保存和打开。我只想使用 write.csv 或类似的东西保存生成的规则,但是当我尝试时,我收到一个错误,即无法将数据强制转换为 data.frame。

有没有人有在 R 中成功做到这一点的经验?

4

3 回答 3

35

我知道我正在回答我自己的问题,但我发现解决方案是使用 as() 将规则转换为数据框。[我是 R 新手,所以我在第一次寻找解决方案时错过了这个。] 从那里,它可以很容易地以您想要的任何方式进行操作(子设置、排序、导出等)。

> mba = read.transactions(file="Book2.csv",rm.duplicates=FALSE, format="single", sep=",",cols=c(1,2));

> rules_1 <- apriori(mba,parameter = list(sup = 0.001, conf = 0.01, target="rules"));

> as(rules_1, "data.frame");
于 2013-06-05T19:33:59.610 回答
6

实现这一目标的另一种方法是:

write(rules_1,
      file = "association_rules.csv",
      sep = ",",
      quote = TRUE,
      row.names = FALSE)
于 2017-10-03T15:21:50.780 回答
0

我在努力编写我的规则以超越时发现了这篇文章。我的解决方案是:

library(writexl)

write_xlsx(as(rules_1, "data.frame"), "rules_1.xlsx")

当它在 Excel 中时,它更容易阅读和报告。

于 2021-01-24T22:06:22.723 回答