R script for Market Basket Analysis (MBA)
if (!require("arules")) install.packages("arules") if (!require("arulesViz")) install.packages("arulesViz") require(arules) # R package for MBA require(arulesViz) # R package for MBA readfile="*******.csv" # **** is file name. #To perform MBA, please prepare binary data (0/1 data) matrix first # Read CSV x=read.csv(readfile, header=T, colClasses="factor") # File loading. rulesAp1 <- apriori(x, parameter=list(support=0.063,confidence=0.25,maxlen=2)) # calculate association rules rulesAp1_lis <- inspect(rulesAp1) # making list of association rules colnames(rulesAp1_lis) <- c("Source", "direction", "Target", "Support", "Confidence", "Coverage", "Lift", "Count") # add column names rulesAp1_lis <- rulesAp1_lis[, colnames(rulesAp1_lis) != "direction"] # omit direction column write.table(rulesAp1_lis,"resMBA_01type.csv",sep=",", row.names=FALSE) # make "0,1" data file #summary(rulesAp1) data<- read.csv(readfile) # File loading. data_tran<-as(as.matrix(data[2:ncol(data)]),"transactions") # Convert the file and omit the first column ap4<-apriori(data_tran,p=list(support=0.063,confidence=0.25,maxlen=2)) # calculate association rules ap4_lis <- inspect(ap4) colnames(ap4_lis) <- c("Source", "direction", "Target", "Support", "Confidence", "Coverage", "Lift", "Count") ap4_lis <- ap4_lis[, colnames(ap4_lis) != "direction"] rule_ap4<-ap4[quality(ap4)$lift>1.8] #extract data by appropriate value of lift write.table(ap4_lis,"res_stype_normal.csv",sep=",") # make csv.file in working directory