我正在处理一些大型交易数据。我一直在使用read.transactions和apriori(arules包的一部分)来进行频繁的项目配对。
我的问题是:当生成规则时(使用“inspect()”),我可以在R控制台中轻松查看它们。现在我手动将结果复制到文本文件中,然后在excel中保存并打开。我想使用write.csv或类似的东西保存生成的规则,但是当我尝试时,我收到一个错误,数据无法强制转换为data.frame。
有没有人有在R中成功做到这一点的经验?
答案 0 :(得分:33)
我知道我正在回答我自己的问题,但我发现解决方案是使用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");
答案 1 :(得分:3)
实现这一目标的另一种方法是:
write(rules_1,
file = "association_rules.csv",
sep = ",",
quote = TRUE,
row.names = FALSE)
答案 2 :(得分:0)
我在努力编写我的规则以达到卓越时发现了这篇文章。我的解决方案是:
library(writexl)
write_xlsx(as(rules_1, "data.frame"), "rules_1.xlsx")
在 Excel 中阅读和报告要容易得多。