Создайте кадр данных из вектора чисел в R

Я пытаюсь добыть частые наборы элементов и правила ассоциации из данных, которые находятся в файле.CSV. Узнал о пакете arules в R и решил использовать его.

Возникла проблема с созданием датафрейма из CSV.

Мой файл CSV по существу содержит данные в следующем формате:

transactionid,items
1,"milk,beer,diapers"
2,"coke,milk,eggs"
3,"diapers,eggs,coke"

Может ли кто-нибудь помочь мне с созданием dataframe для передачи его функциям apriori() или elact() библиотеки arules?

Спасибо!

1 ответ

Похоже, вы хотите импортировать данные из CSV-файла в transactions объект.

df <- read.csv(text='transactionid,items
               1,"milk,beer,diapers"
               2,"coke,milk,eggs"
               3,"diapers,eggs,coke"',
               stringsAsFactors=FALSE)

library(arules)
lst        <- lapply(df$items,function(x)strsplit(x,split=",")[[1]])
names(lst) <- df$transactionid
trans      <- as(lst,"transactions")
inspect(trans)
#   items     transactionID
# 1 {beer,                 
#    diapers,              
#    milk}                1
# 2 {coke,                 
#    eggs,                 
#    milk}                2
# 3 {coke,                 
#    diapers,              
#    eggs}                3

Вы также должны взглянуть на read.transactions(...) функция.

Другие вопросы по тегам