对于itemMatrix对象,事务的summary()是错误的

时间:2016-12-26 18:28:50

标签: r transactions summary arules market-basket-analysis

我正在尝试使用arules包进行一些市场购物篮分析,但是当我在summary()对象上使用itemMatrix函数来检查哪些是最常用的项目时,数字不加起来。 如果我这样做:

library(arules)
x <- read.transactions("Supermarket2014-15.csv")
summary(x)

我明白了:

transactions as itemMatrix in sparse format with
 5001 rows (elements/itemsets/transactions) and
 997 columns (items) and a density of 0.003557162 

most frequent items:    
45      28      42      35      22 (Other) 
503     462     444     440     413   15474 

但是,如果我使用for循环或甚至在Excel中检查,产品45的计数是513而不是503. 28的相同,应该是499,依此类推。 奇怪的是,如果我总结所有总数(15474+413+440+444+462+503),我会得到正确的交易产品总数。

数据有几个NA值,而产品是因素。

str(x)

这是原始数据(日期范围从1到28,产品范围从1到50):

Raw Data

1 个答案:

答案 0 :(得分:0)

如果您查看str(x)来电的结果,则会在@iteminfo$labels下看到某些项目包含"1;1"等标签。这意味着读取文件后,项目未正确分隔。read.transactions()中的默认分隔符是一个空格,但您似乎有(某些)分号。在sep=";"中尝试read.transactions()