【发布时间】:2020-08-11 06:05:42
【问题描述】:
给定商户 ID、卡号和日期,我需要计算每个月与每个商户 ID 关联的卡号数量。到目前为止,我只能计算每个商户 ID 的卡号数量,但我无法使用此代码每月计算它:
HitsCounter <- summarise(group_by(df, MerchantID), HitsTotal = n_distinct(CardNum))
可重现的数据:
MerchantID <- c('1234, '1234', '1234', '1234')
CardNum <- c('1abc1', '1abc1', '2xyz2', '3ijk3')
Date <- c('2020-05-07', '2020-05-07', '2019-10-12', '2019-10-25')
df <- data.frame(MerchantID, CardNum, Date)
将 HitsCounter 合并到我的数据框 df 时得到什么:
MerchantID CardNum Date HitsTotal
1234 1abc1 2020-05-07 3
1234 1abc1 2020-05-07 3
1234 2xyz2 2019-10-12 3
1234 3ijk3 2019-10-25 3
预期输出数据:
MerchantID CardNum Date HitsPerMonth
1234 1abc1 2020-05-07 2
1234 1abc1 2020-02-07 1
1234 2xyz2 2020-05-12 2
1234 3ijk3 2019-10-25 1
1234 3ijk3 2019-10-01 1
请注意,即使月份不同,逻辑也应完全忽略任何重复的 CardNumber,因为每个唯一 CardNumber 都会计算“命中”。
简单来说,它应该回答这个问题:
同一个商家ID在同一个月内交易了多少个唯一卡号?
【问题讨论】:
-
请将缺少的 ' 添加到您的第一行代码中。 Stack Overflow 不允许我只编辑一个字符。
标签: r dataframe dplyr data-analysis