-1

我正在尝试从 .CSV 文件中的数据中挖掘频繁项集和关联规则。了解了 R 中的 arules 包并决定使用它。

面临从 CSV 创建数据框的问题。

我的 CSV 文件本质上具有以下格式的数据:

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

谁能帮助我创建数据框以将其传递给 arules 库的 apriori() 或 elact() 函数?

谢谢!

4

1 回答 1

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(...)功能。

于 2015-09-27T05:34:03.810 回答