【问题标题】:Count variable values using a unique key of multiple variables in R使用 R 中多个变量的唯一键计算变量值
【发布时间】:2018-12-15 09:58:00
【问题描述】:

我有一个包含变量 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 会输出类似内容的唯一交易?

PRODUCT    
Milk     :2
Eggs     :2
Bread    :1

我试过了:

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

但它似乎忽略了计数中的 group_by,因为它输出:

PRODUCT
MILK    :3
EGGS    :2
BREAD   :1

【问题讨论】:

标签: r market-basket-analysis


【解决方案1】:

使用n_distinct 查找唯一交易的数量

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

【讨论】:

  • 可能存在具有相同交易 ID、商店、销售日期和产品的不同交易,但位于不同的登记处。 n_distinct(STORE, SALES_DT, REGISTER, TRANS_ID) 会起作用吗?
  • @Alina 是的,n_distinct 可以接受多个参数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多