У меня есть датафрейм со структурой ниже.Я пытаюсь сделать непрерывный 12-месячный уникальный подсчет сотрудников по команде.Я чувствую, что одной из моих проблем является то, что у меня есть Год и Месяц в отдельной колонке?Но есть идеи о том, как сделать это в r, используя dplyr и lubridate.
Мой текущий код рассчитывает уникальных сотрудников только по команде, году, месяцу, как мне добавить в скользящий 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 команд, и число сотрудников может варьироваться, и у каждой команды есть данные за 2014 год -2018 (я просто не включил в пример данных.
Я также добавил столбец даты YYYY_MM_DD, объединив мой год + месяц + "01", чтобы получить столбец даты для -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))
Ожидаемые результаты Кадр данных2
Team Year Month rolling_12m_emp
Susan 2014 1 2
Susan 2014 2 3
Blake 2014 1 2
Blake 2014 2 4
Спасибо!