为什么R中的arules as(...,“transactions”)似乎丢失了交易?

时间:2017-09-12 22:06:46

标签: r arules

我在CSV中有一个大型数据集:

see attached image

  • 有50,000行,每行是一个事务。
  • 每项交易最多5项,最少1项。
  • 有5000种不同的可能项目值。
  • 交易中没有重复的项目。

将CSV加载到RStudio并应用unclass()后,我会应用as(...,"transactions")

结果是这样的:

# transactions in sparse format with
#  5 transactions (rows) and
#  1455 items (columns)

现在只有 5 ,而非 50,000 交易。

所有交易都去了哪里?矩阵是否以某种方式转换(因为结果中的行数等于我的CSV的列数)?

这可能是数据预处理问题,但根据this帖子,我的输入数据应该是正确的格式。

[我这是第一次在这里发帖,对R / RStudio来说相当新。]

1 个答案:

答案 0 :(得分:0)

查看手册页coercion中的? transactions方法。您将看到需要二元关联矩阵,事务列表或仅包含分类变量的data.frame。您的数据不是其中之一as(..., "transactions")将失败。

我认为read.transactions可以读取您的数据。

library(arules)

# create and write some data
data <- paste(
   "item1,item2,,,", 
   "item1,,,,", 
   "item2,item3,,,", 
   sep="\n")
write(data, file = "demo_basket")

# read the data
tr <- read.transactions("demo_basket", format = "basket", sep=",")
inspect(tr)

    items        
[1] {item1,item2}
[2] {item1}      
[3] {item2,item3}