使用具有唯一订单号但重复订单组合的 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" 会考虑包含相同项目组合的不同订单,但显然情况并非如此。我很失落。我读过的所有文档都表明这是可能的,但我找不到任何有关如何解决该问题的示例或建议。
任何建议将不胜感激!我的头在旋转。
额外信息:对于我的最终结果,我希望获得前五个最重要的购买组合组合。我不知道这是否有帮助。