将交易格式数据集转换为市场篮子分析的篮子格式

时间:2014-11-15 14:41:06

标签: transactions market-basket-analysis

首先我想澄清一下,在发布此查询之前,我已经在本网站中引用了以下链接来寻找答案,但无法理解,可能是因为它们解决了不同的问题,或者因为我是R的新手。

R-convert transaction format dataset to basket format for sequence mining

Arules Sequence Mining in R

How to handle "argument 'incomparables != FALSE' is not used (yet)"?

我想用我的数据集进行市场篮子分析。我的数据集采用事务格式(如下所述),我想将其转换为Basket格式(如下所述)。

我的输入文件是一个csv文件,其数据集的事务格式如下:

TransactionID ProductID
A              1
A              2
B              1
C              3
A              4
B              3

我希望我的输出文件是一个带有Basket格式的csv文件,如下所示:

1 2 4
1 3
3

其中{1,2,4}是在交易A中购买的产品,{1,3}在B中购买,依此类推。

你能告诉我R代码吗?我尝试使用以下代码,但它无法正常工作。我的输入文件名是" D01_modified1.csv"。

library(arulesSequences)
# Read CSV into R
MyData <- read.csv(file="D01_modified1.csv", header=TRUE, sep=",")
s <- unique(MyData,incomparables = FALSE, fromLast = FALSE,paste0("ProductID"))
# Write CSV in R
write.csv(s, file = "MyOutput.csv",row.names=FALSE, na="")

出现以下错误:

Error: argument 'incomparables != FALSE' is not used (yet)

此外,我不确定以下代码是否会给我所需的输出。

s <- unique(MyData,incomparables = FALSE, fromLast = FALSE,paste0("ProductID"))

请指导。期待您的帮助。非常感谢...

1 个答案:

答案 0 :(得分:0)

它对我有用

df_fact <- data.frame(lapply(MyData,as.factor))
df_trans <- as(df_fact, 'transactions')

希望它有所帮助。