计算R

时间:2017-04-28 21:28:06

标签: r count combn

我有一个大客户以高频率向我购买。我想知道他经常一起购买哪些产品组合。例如,每次他购买产品A 时,他也会购买产品W 。其他产品组合也是如此。

我的目标是确定哪些产品组合,以便我可以向仅购买产品A 的其他客户提供产品W (也许他们正在购买<来自我的竞争对手的产品W ,而不知道我卖掉它。)

我的数据看起来像这样

   codclient  codproduct            quant         date
1      101249     A                4.1600     2016-10-01
2      101249     W                1.3880     2016-10-01
3      101249     B                1.5268     2016-10-01
4      101249     A                0.8328     2016-11-01
5      101249     W                2.9148     2016-11-01
6      101249     B                2.7760     2016-11-01
7      101249     C                1.8750     2016-11-01
8      101250     A                0.6940     2016-10-01
9      101250     A                7.0000     2016-11-01
10     101251     B               12.0000     2016-11-01
11     101251     C             1000.0000     2016-11-01
12     101252     W             1000.0000     2016-11-01

使用intersectReduce(intersect, list = (products_by_month))我只能看到总是购买哪些商品。

截至目前,我想到的是计算每个产品组合在客户49购买帐户中出现的次数,然后选择这些篮子作为参考建议我的其他客户。

我可以使用combn创建产品组合的向量(两个或三个产品的每个组合就足够了)但我仍然不知道如何计算它们在所购买产品的每个向量中出现的时间每个月。

有关如何做的任何想法?

2 个答案:

答案 0 :(得分:1)

我现在一直想深入研究市场购物篮分析,我知道r中有一个特定的包装:

https://cran.r-project.org/web/packages/arules/index.html

这可能会对您有所帮助,但我认为为了以防万一,我会把它丢弃。

答案 1 :(得分:0)

您可以使用dplyr执行此操作:

spread(filter(df,codClient == 101249),codproduct,quant)

     codclient      date      A       B        C         W
1       101249 10/1/2016 4.1600  1.5268       NA    1.3880
2       101249 11/1/2016 0.8328  2.7760    1.875    2.9148