我正在尝试从 .CSV 文件中的数据中挖掘频繁项集和关联规则。了解了 R 中的 arules 包并决定使用它。
面临从 CSV 创建数据框的问题。
我的 CSV 文件本质上具有以下格式的数据:
transactionid,items
1,"milk,beer,diapers"
2,"coke,milk,eggs"
3,"diapers,eggs,coke"
谁能帮助我创建数据框以将其传递给 arules 库的 apriori() 或 elact() 函数?
谢谢!
听起来您想将数据从 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(...)
功能。