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