计算r的每月金额



我有一个经常给慈善组织捐款的人的数据集,我试图计算新捐助者减去取消"订阅"的捐助者的总和。有些人还没有结束他们的订阅,因此在EndDate列中有NA。数据的结构如下:

Contact-ID      StartDate       EndDate
1              2021-09-01      2021-10-01
2              2021-09-01      2021-10-01
3              2021-10-01  
4              2021-10-01      2021-11-01

从中有两个我正在寻找的输出。一个是表,它看起来像这样:

2021-09         2
2021-10         0
2021-11        -1

有什么建议吗?

你可以这样做

library(tidyverse) 
df %>%
mutate(across(StartDate:EndDate, as.Date)) %>%
summarize(Month = seq(as.Date('2021-09-01'), as.Date('2021-11-01'), 
by = 'month'),
users = sapply(Month, function(x) sum(StartDate <= x & 
(EndDate > x | is.na(EndDate))))
)
#>        Month users
#> 1 2021-09-01     2
#> 2 2021-10-01     2
#> 3 2021-11-01     1

相关内容

  • 没有找到相关文章

最新更新