padr R pacakge vignette описывает различные функции пакета для заполнения дат и времени вокруг указанных дат и времени.
Я нахожусь в ситуациях, когда я будуподсчет событий во фреймах данных (т. е. dplyr::count()
), которые нужно будет наносить на карту событий в течение, скажем, одного года. Когда я подсчитываю события во фрейме данных с небольшим объемом, я часто получаю результаты по отдельным позициям, например:
library(tidyverse)
library(lubridate)
library(padr)
df <- tibble(col1 = as.Date("2018-10-01"), col2 = "g", col3 = 5)
#> # A tibble: 1 x 3
#> col1 col2 col3
#> <date> <chr> <dbl>
#> 1 2018-10-01 g 5
Чтобы составить график с помощью ggplot, в течение года, ежемесячно, требуется фрейм данных из 12 строк. По сути, это должно выглядеть так:
#> # A tibble: 12 x 3
#> col1 col2 col3
#> <date> <chr> <dbl>
#> 1 2018-01-01 NA 0
#> 2 2018-02-01 NA 0
#> 3 2018-03-01 NA 0
#> 4 2018-04-01 NA 0
#> 5 2018-05-01 NA 0
#> 6 2018-06-01 NA 0
#> 7 2018-07-01 NA 0
#> 8 2018-08-01 NA 0
#> 9 2018-09-01 NA 0
#> 10 2018-10-01 g 5
#> 11 2018-11-01 NA 0
#> 12 2018-12-01 NA 0
Возможно, padr()
может сделать это с помощью некоторой комбинации функций thicken()
и pad()
. Мои попытки показаны ниже, ни строка 3, ни строка 4 не создают фрейм данных, показанный непосредственно выше.
Как построить вышеупомянутый фрейм данных, используя padr()
, lubridate()
, tidyverse()
, data.table()
, base R
или как угодно пожалуйста? Ручной ввод каждого месяца также не рассматривается, если это необходимо сказать. Спасибо.
df %>%
thicken("year") %>%
# pad(by = "col1") %>% # line 3
# pad(by = "col1_year") %>% # line 4
print()