Padr Функция для неполных данных

Вот часть моих данных:

      >head(state1)
># A tibble: 6 x 5
  date       TYP_INT WEATHER pedday intersection
  <date>       <dbl>   <dbl>  <dbl>        <dbl>
1 2019-01-02       1       2  0.204            1
2 2019-01-04       1      10  0.204            1
3 2019-01-06       1       1  0.204            1
4 2019-01-07       1       1  0.204            1
5 2019-01-10       1       1  0.204            1
6 2019-01-22       1       1  0.612            1

Я хочу, чтобы эти данные начинались в первый день года и заканчивались в последний день, и заполнять нули отсутствующими датами. Когда я пытаюсь изменить

start_val="2019-01-01"

Я получаю сообщение о том, что мне нужно использовать класс Date, POSIXlt или POSIXct. Я также пробовал% d, чтобы он отображался все дни, но это тоже не сработало.

       state1<- read_csv(file.choose())
     library(padr)
     edit<-state1%>% 
       padr::pad(start_val = as.Date(start_val="2019-01-01"),end_val = max(.$date)) %>%fill_by_value(value = 0)

1 ответ

Даты хранятся как characters в файле, но padr надеется Dates.
Вы могли бы использовать as.Date чтобы получить ожидаемый тип:

      states1 <- read.table(text="
date       TYP_INT WEATHER pedday intersection
  1 2019-01-02       1       2  0.204            1
2 2019-01-04       1      10  0.204            1
3 2019-01-06       1       1  0.204            1
4 2019-01-07       1       1  0.204            1
5 2019-01-10       1       1  0.204            1
6 2019-01-22       1       1  0.612            1",header=T)


library(padr)

library(padr)

states1 %>% mutate(date = as.Date(date)) %>%  
            padr::pad(start_val =as.Date("2019-01-01"),end_val = max(.$date)) %>%
            fill_by_value(value = 0)

         date TYP_INT WEATHER pedday intersection
1  2019-01-01       0       0  0.000            0
2  2019-01-02       1       2  0.204            1
3  2019-01-03       0       0  0.000            0
4  2019-01-04       1      10  0.204            1
5  2019-01-05       0       0  0.000            0
6  2019-01-06       1       1  0.204            1
7  2019-01-07       1       1  0.204            1
8  2019-01-08       0       0  0.000            0
9  2019-01-09       0       0  0.000            0
10 2019-01-10       1       1  0.204            1
11 2019-01-11       0       0  0.000            0
12 2019-01-12       0       0  0.000            0
13 2019-01-13       0       0  0.000            0
14 2019-01-14       0       0  0.000            0
15 2019-01-15       0       0  0.000            0
16 2019-01-16       0       0  0.000            0
17 2019-01-17       0       0  0.000            0
18 2019-01-18       0       0  0.000            0
19 2019-01-19       0       0  0.000            0
20 2019-01-20       0       0  0.000            0
21 2019-01-21       0       0  0.000            0
22 2019-01-22       1       1  0.612            1
Другие вопросы по тегам