Adds missing values to turn an irregular time series into a regular one. This function is currently experimental. Only works or target frequencies 1,2,4,12.
Examples
ts1 <- rnorm(5)
dv <- c(
seq(as.Date("2010-01-01"), length = 3, by = "3 years"),
seq(as.Date("2018-01-01"), length = 2, by = "2 years")
)
library(zoo)
xx <- zoo(ts1, dv)
regularize(xx)
#> Time Series:
#> Start = 2010
#> End = 2020
#> Frequency = 1
#> [1] 0.2188939 NA NA 2.4533042 NA NA
#> [7] -0.9580244 NA 1.3530311 NA 1.2738529
dv2 <- c(seq(as.Date("2010-01-01"), length = 20, by = "1 months"))
dv2 <- dv2[c(1:10, 14:20)]
xx2 <- zoo(rnorm(length(dv2)), dv2)
regularize(xx2)
#> Jan Feb Mar Apr May Jun
#> 2010 0.1868429 0.2705550 0.3431659 -1.6331552 -0.5648019 -2.0137132
#> 2011 NA 0.7256151 -1.9287957 0.8934381 0.2672875 1.0749958
#> Jul Aug Sep Oct Nov Dec
#> 2010 -0.8579509 -0.7662984 -0.4223377 -1.7581646 NA NA
#> 2011 -0.5629099 0.4733231