Пакет R в padr, утверждающий, что «переменная даты не меняется», когда она меняется - PullRequest
0 голосов
/ 25 апреля 2020
library(tidyverse)
library(lubridate)
library(padr)

df
#> # A tibble: 828 x 5
#>    Scar_Id      Code     Type         Value      YrMo      
#>    <chr>        <chr>    <chr>        <date>     <date>    
#>  1 0070-179     AA       Start_Date   2020-04-22 2020-04-01
#>  2 0070-179     AA       Closure_Date 2020-05-23 2020-05-01
#>  3 1139-179     AA       Start_Date   2020-04-23 2020-04-01
#>  4 1139-179     AA       Closure_Date 2020-05-23 2020-05-01
#>  5 262-179      AA       Start_Date   2019-08-29 2019-08-01
#>  6 262-179      AA       Closure_Date 2020-05-23 2020-05-01
#>  7 270-179      AA       Start_Date   2019-08-29 2019-08-01
#>  8 270-179      AA       Closure_Date 2020-05-23 2020-05-01
#>  9 476-179      BB       Start_Date   2019-09-04 2019-09-01
#> 10 476-179      BB       Closure_Date 2019-11-04 2019-11-01
#> # ... with 818 more rows

У меня есть фрейм данных R с именем df, показанным выше. Я хочу сосредоточиться на номерах строк 5 и 6. Обычно я могу использовать пакет padr для заполнения месяцев между строками 5 и 6. Функция pad() в padr будет в основном добавлять строки с указанными пользователем интервалами, лучше всего показывать их как добавленные строки "X" ниже.

#>  1 0070-179     AA       Start_Date   2020-04-22 2020-04-01
#>  2 0070-179     AA       Closure_Date 2020-05-23 2020-05-01
#>  3 1139-179     AA       Start_Date   2020-04-23 2020-04-01
#>  4 1139-179     AA       Closure_Date 2020-05-23 2020-05-01
#>  5 262-179      AA       Start_Date   2019-08-29 2019-08-01
#>  X 262-179      NA       NA           NA         2019-09-01
#>  X 262-179      NA       NA           NA         2019-10-01
#>  X 262-179      NA       NA           NA         2019-11-01
#>  X 262-179      NA       NA           NA         2019-12-01
#>  X 262-179      NA       NA           NA         2020-01-01
#>  X 262-179      NA       NA           NA         2020-02-01
#>  X 262-179      NA       NA           NA         2020-03-01
#>  X 262-179      NA       NA           NA         2020-04-01
#>  6 262-179      AA       Closure_Date 2020-05-23 2020-05-01
#>  7 270-179      AA       Start_Date   2019-08-29 2019-08-01
#>  8 270-179      AA       Closure_Date 2020-05-23 2020-05-01
#>  9 476-179      BB       Start_Date   2019-09-04 2019-09-01
#> 10 476-179      BB       Closure_Date 2019-11-04 2019-11-01

Чтобы попасть туда, я обычно запускаю команду, такую ​​как показано ниже, и он отлично работает в падре. Но это не работает в моем конкретном примере c, а вместо этого выдает предупреждение, показанное ниже.

df %>% pad(group = "Scar_Id", by = "YrMo", interval = "month")

#> # A tibble: 828 x 5
#>    Scar_Id      Code     Type         Value      YrMo      
#>    <chr>        <chr>    <chr>        <date>     <date>    
#>  1 0070-179     AA       Start_Date   2020-04-22 2020-04-01
#>  2 0070-179     AA       Closure_Date 2020-05-23 2020-05-01
#>  3 1139-179     AA       Start_Date   2020-04-23 2020-04-01
#>  4 1139-179     AA       Closure_Date 2020-05-23 2020-05-01
#>  5 262-179      AA       Start_Date   2019-08-29 2019-08-01
#>  6 262-179      AA       Closure_Date 2020-05-23 2020-05-01
#>  7 270-179      AA       Start_Date   2019-08-29 2019-08-01
#>  8 270-179      AA       Closure_Date 2020-05-23 2020-05-01
#>  9 476-179      BB       Start_Date   2019-09-04 2019-09-01
#> 10 476-179      BB       Closure_Date 2019-11-04 2019-11-01
#> # ... with 818 more rows
#> Warning message:
#> datetime variable does not vary for 537 of the groups, no padding applied on this / these group(s)

Почему он утверждает, что " переменная datetime не меняется " для строк 5 и 6, когда дата и время действительно меняются. Дата-время для строки 5 переменная YrMo равна «2019-08-01», а дата-время для строки 6 переменная YrMo - «2020-05-01». Позвольте мне заявить, что «2019-08-01» отличается от «2020-05-01».

Есть идеи, что пошло не так? Я попытался создать воспроизводимый пример и не смог. Основы c примеров, которые я создал, все работают как положено (как я опишу). Надеюсь, что эти подсказки могут помочь кому-то определить, что происходит.

...