0

这是我的部分数据:

>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)
4

1 回答 1

0

日期存储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
于 2021-04-27T19:48:09.987 回答