r - 带NA的时间序列填充

Kat*_*tyB 3 r time-series

比如说,如果我有一个数据框如下:

Date1 <- seq(from = as.POSIXct("2010-05-01 02:00"), 
             to = as.POSIXct("2010-10-10 22:00"), by = 3600)
Dat <- data.frame(DateTime = Date1,
                  x1 = rnorm(length(Date1)))
Run Code Online (Sandbox Code Playgroud)

每次测量之间的间距是1小时.如何在今年剩余时间内使用NA填充此数据框,其中最终解决方案的长度应为8760,即全年的每小时测量值.例如,我想将DateTime列扩展到2010-01-01 00:00到2010-12-31 23:00,但是对于已添加到原始日期的日期,x1列为NA数据框(如果有意义的话).我想提出一个可以有多年的解决方案,即如果数据从2009年5月延伸到2012年9月那么最终的解决方案应该有这个数据集但是缺少的时间即从2009年1月到2012年12月到用NA填充.我该如何解决这个问题?

Did*_*rts 10

创建包含所有小时的新数据框,然后合并两个数据框.

df2<-data.frame(DateTime=seq(from = as.POSIXct("2010-01-01 00:00"), 
                             to = as.POSIXct("2010-12-31 23:00"), by = "hour"))
merge(df2,Dat,all=TRUE)
Run Code Online (Sandbox Code Playgroud)