Подсчет различных идентификаторов в скользящем таймфрейме по категориям в R - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть датафрейм со структурой ниже.Я пытаюсь сделать непрерывный 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

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...