【发布时间】:2023-03-20 01:33:01
【问题描述】:
我可以访问包含以下内容的数据框:
- customer_id:50K 客户
- 日期:200 个日期(从 1 到 200)
- nb_visit_life_to_date:客户一生至今的访问次数(今天或过去)。
我需要为每一行计算在该日期已知的不活动期,即从上次访问到当前行日期的天数。
最后一次访问的日期可以从 nb_visit_life_to_date 通过计算之前具有相同值的行数来推断。
例如,如果我有 3 行关于同一用户的相同用户迄今为止的访问次数相同,那么我应该为这第 3 行恢复 2 天的不活动期。
真实数据示例:
input <- data.frame(
user = c(1,1,1,1,1,2,2,2,2,2),
date = c(1,2,3,4,5,1,2,3,4,5),
nb_visit_life_to_date = c(1,1,1,2,3,1,2,2,2,2)
)
output <- data.frame(
input,
inactivity_period_from_previous_visit = c(0,1,2,0,0,0,0,1,2,3)
)
理想情况下,我想使用dplyr 语法,但我当然愿意接受所有解决方案。
【问题讨论】: