r - 如何按 customer_name 分组并计算 mail_sent?
问题描述
我正在寻找指导来解决 R 中的一个场景,其中我有一个包含以下列的表 - customer_name、zip_code、date_applied(他们申请的日期)、date_mail_sent(向他们邮寄有关该服务的广告的日期)。
我希望通过 customer_name 和发送的邮件数获得组计数,从而导致他们提出申请。彼此相隔 90 天内邮寄的日期应组合在一起。这些邮件中的最新邮件应在申请日期的 90 天内。
样本数据集:
customer_name zip_code date_applied date_mail_sent
aaaa 12345 1/15/2017 4/3/2016
aaaa 12345 1/15/2017 9/15/2016
aaaa 12345 1/15/2017 12/5/2016
aaaa 12345 5/15/2017 4/1/2017
aaaa 12345 5/15/2017 4/15/2017
bbbb 45667 3/3/2017 1/2/2017
bbbb 45667 3/3/2017 2/2/2017
bbbb 45667 3/3/2017 3/2/2017
bbbb 45667 12/15/2017 6/30/2017
bbbb 45667 12/15/2017 7/30/2017
期望的结果:
customer_name zip_code date_applied count_of_mail_sent
aaaa 12345 1/5/2016 2
aaaa 12345 5/15/2016 2
bbbb 45667 3/3/2017 3
bbbb 45667 12/15/2017 0
解决方案
library(tidyverse)
library(lubridate)
df %>%
mutate_at(vars(contains("date")), mdy) %>%
mutate(days_prior = (date_applied - date_mail_sent) / ddays(1)) %>%
count(customer_name, date_applied, wt = days_prior <= 90)
# A tibble: 4 x 3
customer_name date_applied n
<chr> <date> <int>
1 aaaa 2017-01-15 2
2 aaaa 2017-05-15 2
3 bbbb 2017-03-03 3
4 bbbb 2017-12-15 0
推荐阅读
- python - 如何修复属性错误“NoneType”对象没有属性“strip”
- powershell - Powershell GetChildItem 未列出路径
- npm-install - 找不到模块:通过 npm 安装时无法解析“node_modules/bootstrap/dist/css/bootstrap.css”
- webflow - 尽管有团队成员访问权限,但无法在 webflow 中编辑客户端模板
- c# - 同时运行两个任务
- python - 如何创建包含整数和浮点数的集合?
- python-3.x - 从现有的 pytroch 数据集继承而不重新下载数据
- bash - bash if 语句二元运算符
- bot-framework-composer - 如何在 Bot-Framework-Composer V 2.1.1 中添加翻译中间件
- angular - Angular——处理页面刷新