Question

I'm working with some large transactions data. I've been using read.transactions and apriori (parts of the arules package) to mine for frequent item pairings.

My problem is this: when rules are generated (using "inspect()") I can easily view them in the R console. Right now I'm manually copying the results into a text file, then saving and opening in excel. I'd like to just save the generated rules using write.csv, or something similar, but when I try, I receive an error that the data cannot be coerced into data.frame.

Does anyone have experience doing this successfully in R?

Was it helpful?

Solution

I know I'm answering my own question, but I found out that the solution is to use as() to convert the rules into a data frame. [I'm new to R, so I missed this my first time searching for a solution.] From there, it can easily be manipulated in any way you'd like (sub setting, sorting, exporting, etc.).

> 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");

OTHER TIPS

Another way to achieve that would be:

write(rules_1,
      file = "association_rules.csv",
      sep = ",",
      quote = TRUE,
      row.names = FALSE)

I found this post when struggling with writing my rules to excel. My solution is:

library(writexl)

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

It is much easier to read and report when it is in excel.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top