【发布时间】:2018-12-14 07:32:21
【问题描述】:
数据如下:
Customer_ID Trans_ID Trans_DateTime
A 1 2014-10-01 10:02:09
A 2 2014-10-01 16:20:09
B 3 2014-10-01 12:05:20
B 4 2014-10-01 17:05:20
A 5 2014-12-01 10:02:09
A 6 2014-12-01 10:02:50
B 7 2014-12-01 12:05:19
B 8 2014-12-01 12:05:21
我需要计算每个客户在第一次交易后的两个月内的交易次数。我只能找到所有客户在接下来的两个月内的交易次数。对所有人来说都是共同的。但是,我需要使时间段成为动态的(即,每个客户根据他们进行第一笔交易的时间而有所不同。)
根据上面的数据,输出应该如下所示:
Customer_ID number_of_transactions
A 2
B 3
提前致谢!!
【问题讨论】:
-
您能
dput(...)您的示例数据吗?根据标签 [r] 的描述:提供最小的、可重复的、有代表性的示例以及所需的最终结果。对数据使用 dput() 并指定所有非基础包 ... -
你能解释一下你的预期输出吗?每个
Cust_ID的所有交易都在他们第一次交易后的 3 个月内。 -
@RonakShah 考虑到 A 的交易,我没有计算数据中给出的 A 的最后一笔交易,因为它发生在“2014-12-01 10:02:09”之后。她的第一笔交易在“2014-10-01 10:02:09”完成,3 个月约束内的最后一次观察在“2014-12-01 10:02:09”完成,这是 3 个月的“窗口” " 特定于我的问题中定义的 A。
-
@KumarAshutosh 所以我认为那是 2 个月的窗口吗?
B呢?它在同一个月内完成了所有交易,实际上是同一天。 -
@RonakShah 感谢您的更正...那么您能否将此问题视为基于 2 个月窗口的问题?同样对于 B,我应该将最后两笔交易的月份设为 12 而不是 10。原谅我。
标签: r datetime dplyr lubridate