Skip to content

Commit

Permalink
Create Market Basket Analysis.R
Browse files Browse the repository at this point in the history
  • Loading branch information
LisaLi525 authored Dec 13, 2023
1 parent d658b83 commit 375c31c
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions Market Basket Analysis.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
perform_market_basket_analysis <- function(transaction_data) {
# Preparing the data for market basket analysis
transaction_items <- transaction_data %>%
filter(totitemsaleprice > 0) %>%
left_join(items_master, by = c("gtin" = "ugtin")) %>%
group_by(trandate, tranno) %>%
summarise(item_list = paste(ides, collapse = ",")) %>%
ungroup() %>%
collect()

# Writing item list to a CSV file
write.csv(transaction_items, "itemList.csv", quote = FALSE, row.names = TRUE)

# Loading the arules package and preparing transactions
library(arules)
txn <- read.transactions(file = "itemList.csv", rm.duplicates = FALSE, format = "basket", sep = ",", cols = 1)
txn@itemInfo$labels <- gsub("\"", "", txn@itemInfo$labels)

# Running the Apriori algorithm
basket_rules <- apriori(txn, parameter = list(minlen = 2, sup = 0.001, conf = 0.01, target = "rules"))
df_basket <- as(basket_rules, "data.frame")
df_basket$confidence <- df_basket$confidence * 100

return(df_basket)
}

0 comments on commit 375c31c

Please sign in to comment.