Заполнение NA из предыдущих строк, но добавление одного уровня - PullRequest
1 голос
/ 03 марта 2020

У меня есть данные, где я использовал tidyr::complete(full.sequence(Tenure)), чтобы добавить новые строки для заполнения моего столбца владения, но затем у меня осталось NA между заказанным Month_Yr.

 MemberID Tenure Month_Yr
   <fct>    <dbl> <ord>   
  7            0   2019-02
  7            1   2019-03 
  7            2   2019-04 
  7            3   2019-05 
  7            4   NA
  7            5   NA 
  7            6   NA
  7            7   2019-09   

Я попытался заполнить NA с помощью fill и na.fill, но затем он либо заполняет все значения одинаковыми значениями вверх или вниз для каждого отдельного клиента.

'''fill(data, Month_Yr, .direction="down")'''

Я ищу код, который снизит предыдущее значение, но добавит один уровень для каждой строки. Так что результат будет таким:

MemberID Tenure Month_Yr
   <fct>    <dbl> <ord>   
  7            0   2019-02
  7            1   2019-03 
  7            2   2019-04 
  7            3   2019-05 
  7            4   **2019-06**
  7            5   **2019-07** 
  7            6   **2019-08**
  7            7   2019-09    

1 Ответ

0 голосов
/ 03 марта 2020

Вы можете создать задержку владения, взять разницу и добавить к month_yr

library(zoo)

df$Month_yr <- na.locf(df$Month_yr)+months(new_col)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...