按R中的类别计算滚动时间框架组中的不同ID

时间:2018-12-13 20:53:07

标签: r

我有一个具有以下结构的数据框。我正在尝试按团队连续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

谢谢!

0 个答案:

没有答案