我有一个具有以下结构的数据框。我正在尝试按团队连续12个月对Employeesid进行唯一计数。我觉得我的问题之一是我在单独的列中有“年”和“月”吗?但是关于如何使用dplyr和lubridate在r中执行此操作的任何想法。
我当前的代码仅按团队,年份和月份计算唯一雇员,如何在连续12个月中添加?
我提供了示例数据和预期结果。
Dataframe1
Team Employeesid YYYY_MM_DD Year Month
Susan 34 2014-01-01 2014 1
Susan 45 2014-01-01 2014 1
Susan 34 2014-02-01 2014 2
Susan 45 2014-02-01 2014 2
Susan 65 2014-02-01 2014 2
Blake 4 2014-01-01 2014 1
Blake 65 2014-01-01 2014 1
Blake 77 2014-02-01 2014 2
Blake 51 2014-02-01 2014 2
Blake 65 2014-02-01 2014 2
注意:我有150多个团队,Employeesid的数量可能有所不同,每个团队都有2014年至2018年的数据(我只是没有包含在示例数据中。
我还通过结合我的year + month +“ 01”来添加一个日期列YYYY_MM_DD,以使日期列可以处理-12个月,但是它也不起作用吗?
查看代码:
df2 <- df1 %>%
dplyr::filter(YYYY_MM_DD - months(12),YYYY_MM_DD)%>%
group_by(team,Year,Month) %>%
summarise(rolling_12m_emp = n_distinct(Employeesid))
预期结果Dataframe2
Team Year Month rolling_12m_emp
Susan 2014 1 2
Susan 2014 2 3
Blake 2014 1 2
Blake 2014 2 4
谢谢!