我有一个数据框,其中包含许多气象和环境变量的日常测量结果。我需要创建 14 天的滞后并计算 3 个不同的连续滞后期的移动平均值(滞后 0 和 1、滞后 2 到 6 和 8 到 14。如果有人建议更好、更短的方法来完成这项任务,我将不胜感激比如下所示。
library(gamair)
library(mgcv)
data(chicago)
attach(chicago)
m <- length(tmpd)
t <- 14
LAG_tmpd <- matrix(0,m,t)
for (j in 1:t)
{
for (g in 1:j)
{
LAG_tmpd[g,j]<-NA
}
for(i in (j+1):m)
{
LAG_tmpd[i,j]<-c(tmpd[i-j])
}
}
tmpd_lag01 <- (LAG_tmpd[,1]+LAG_tmpd[,2])/2
tmpd_lag26 <- (LAG_tmpd[,3]+LAG_tmpd[,4]+LAG_tmpd[,5]+LAG_tmpd[,6]+LAG_tmpd[,7])/5
tmpd_lag713 <- (LAG_tmpd[,8]+LAG_tmpd[,9]+LAG_tmpd[,10]+LAG_tmpd[,11]+LAG_tmpd[,12]+LAG_tmpd[,13]+LAG_tmpd[,14])/7