小编Ara*_*ran的帖子

从年度数据转换为季度数据,限制为年度平均值

我在 R 中有几个年度频率的变量,我想将它们包含在回归分析中,其他变量以季度频率可用。此外,我希望能够以重现原始年度数据的方式将季度数据转换回年度频率。

我目前将低频时间序列数据转换为高频时间序列数据的方法是使用 zoo 包中的 na.spline 函数。但是,我不知道如何限制季度数据以匹配相应的年度平均值。因此,当我将数据从季度频率转换回年度频率时,我得到的年度值与原始系列不同。

可重现的例子:

library(zoo)

# create annual example series
a <- as.numeric(c("100", "110", "111"))
b <- as.Date(c("2000-01-01", "2001-01-01", "2002-01-01"))
z_a <- zoo(a, b); z_a

# current approach using na.spline in zoo package
end_z <- as.Date(as.yearqtr(end(z_a))+ 3/4)
z_q <- na.spline(z_a, xout = seq(start(z_a), end_z, by = "quarter"), method = "hyman")

# result, with first quarter equal to annual value
c <- merge(z_a, z_q); c

# convert back to annual using aggregate in zoo package 
# …
Run Code Online (Sandbox Code Playgroud)

r time-series zoo

4
推荐指数
1
解决办法
5802
查看次数

标签 统计

r ×1

time-series ×1

zoo ×1