我在csv中有一个数据库的子集,它有几个不同的列,我想将数据转换成事务。我已经阅读了this post
library(arules)
library(arulesViz)
trans = read.transactions("data.csv", format = "single", sep = ",",
cols = c("EMAIL", "BRAND"))
但无法使用建议的解决方案转换我的数据:
CATEGORY BRAND SKU EMAIL SEGMENT SALES
shorts gap 1564 one@mail.x 1 1
tops gap 8974 one@mail.x 1 2
shoes nike 3245 two@mail.x 4 3
jeans levis 8956 two@mail.x 4 1
现在我想使用arules了解客户通常一起购买的品牌。为了使用arules,我需要转换我的数据,使其如下所示:
gap, gap
nike, levis
有人可以帮我弄清楚如何相应地转换我的数据吗?
答案 0 :(得分:1)
如果我们将列EMAIL
视为一种交易ID,我们可以将您的data.frame
转换为类transactions
:
library(arules)
trans <- as(split(df[,"BRAND"], df[,"EMAIL"]), "transactions")
# To explore the rules we could do
rules <- apriori(trans)
inspect(rules)
# lhs rhs support confidence lift
#1 {levis} => {nike} 0.5 1 2
#2 {nike} => {levis} 0.5 1 2