Преобразуйте CSV в транзакции для Arules
У меня есть подмножество из базы данных в CSV, которая имеет несколько разных столбцов, и я хотел бы преобразовать данные в транзакции. Я уже прочитал этот пост
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
Кто-нибудь может помочь мне понять, как преобразовать мои данные соответственно?
1 ответ
Решение
Если мы рассмотрим столбец EMAIL
в качестве своего рода идентификатора транзакции, мы можем преобразовать ваш 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