【发布时间】:2013-05-13 05:26:19
【问题描述】:
使用具有唯一订单号但重复订单组合的 arules 包的 R 篮子分析
刚刚学习 R。我正在尝试使用 arules 软件包进行购物篮分析(但我完全愿意接受任何其他软件包建议!)以比较所购买的 6 种不同商品类型的所有可能组合。
我的原始数据集如下所示:
OrderNo, ItemType, ItemCount
111, Health, 1
111, Leisure, 2
111, Sports, 1
222, Health, 3
333, Food, 7
333, Clothing, 1
444, Clothing, 2
444, Health, 1
444, Accessories, 2
。 . .
这个列表还在继续,大约有 3,000 个观察值。
我将数据折叠到一个矩阵中,该矩阵包含每个唯一订单的一行,其中包含特定 ItemType 的计数:
OrderNo, Accessories, Clothing, Food, Health, Leisure, Sports
111, 0, 0, 0, 1, 2, 1
222, 0, 0, 0, 3, 0, 0
333, 0, 1, 7, 0 , 0, 0
444, 2, 2, 0, 1, 0, 0
. . .
每次我尝试使用以下命令(以及一百万次尝试的变体)读取交易时:
tr <- read.transactions("dataset.csv", rm.duplicates=FALSE, format="basket", sep=",")
我收到错误消息: asMethod(object) 中的错误:无法强制列出具有重复项的事务。
我假设这是因为我有 3,000 次观察,并且不可避免地会出现不止一次的某些组合(即,不止一个人只购买一件衣服,没有别的:OrderNo, 0, 1, 0, 0, 0, 0)。我知道我可以根据唯一组合的数量来折叠数据集,但我担心如果这样做,将没有权重来显示最常见的组合。
我认为使用 format="basket" 会考虑包含相同项目组合的不同订单,但显然情况并非如此。我迷路了。我读过的所有文档都暗示这是可能的,但我找不到任何关于如何解决问题的示例或建议。
任何建议将不胜感激!我的头在这上面旋转。
额外信息:对于我的最终结果,我希望获得前五个最重要的购买组合。我不知道这是否有帮助。
【问题讨论】:
-
想提供一个独立的小例子吗? stackoverflow.com/questions/5963269/…
标签: r arules market-basket-analysis