使用R

时间:2018-07-06 19:05:23

标签: r market-basket-analysis

我有一个数据框,其中包含变量STORE,SALES_DT,REGISTER,TRANS_ID和PRODUCT。

STORE,SALES_DT,REGISTER和TRANS_ID的每个唯一组合代表一个唯一的事务,而不仅仅是TRANS_ID。例如,可能有一个具有相同商店,日期,交易ID和产品的商品,但是在不同的寄存器处。任何组合都是可能的。数据框的一小部分可能是...

STORE   SALES_DT      REGISTER    TRANS_ID    PRODUCT
1       2017-04-12    3           1234        Milk
1       2017-04-12    3           1234        Milk
1       2014-06-01    14          8901        Eggs
23      2014-06-09    1           4597        Eggs
48      2016-01-25    2           1234        Bread
48      2015-12-09    2           8901        Milk

我该如何计算每个会输出类似内容的产品的不重复交易?

PRODUCT    
Milk     :2
Eggs     :2
Bread    :1

我尝试过:

cart <- group_by(dataframe, STORE, SLS_DT, REGISTER, TRANS_ID)
summary(cart$PRODUCT)

但是似乎由于它输出而忽略了count中的group_by:

PRODUCT
MILK    :3
EGGS    :2
BREAD   :1

1 个答案:

答案 0 :(得分:1)

使用n_distinct查找唯一交易数

dataframe %>% group_by(PRODUCT) %>% 
  summarize(n=n_distinct(TRANS_ID))