Преобразуйте 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   
Другие вопросы по тегам