【发布时间】:2019-03-12 23:51:31
【问题描述】:
我正在尝试找到一种有效的方法来获取一段时间内按年龄划分的总人口。我有生日、开始日期和结束日期(参加计划):
people <- data.frame(start_date = as.Date(c("2005-01-01", "2005-01-01", "2006-01-01"),
end_date = as.Date(c(NA, NA, "2008-01-01"),
bday = as.Date(c("1983-01-01", "1985-01-01", "1986-01-01")))
我想最终显示 2005-2015 年 21、22、23 等岁的人数。换句话说,在时间间隔内曾经在一个年龄组中的人数。在这个例子中:
AGE COUNT
20 2
21 2
22 2
23 3
24 2
25 2
为了增加另一个皱纹,我正在使用 dbplyr 来处理 sql 数据库,所以我正在寻找 dbplyr 或 sql 解决方案。这里大约有 3000 万人,因此必须以这种方式完成繁重的工作。
这类似于this question,但不完全相同,而且对数据库不友好。
【问题讨论】: