我正在使用一个大型数据集,该数据集每月测量多个位置,但每个站点都有不同数量的测量和 NA,从而创建了一个损坏的时间序列。为了解决这个问题,我创建了一个 for 循环,在每个站点循环,以使用插值技术填补空白。由此,我得到一个插值输出,理想情况下希望将其添加回原始数据集中。例如:
library(imputeTS)
Sites = c(rep("A", 5), rep("B", 4), rep("C", 10))
Meas = c(25,20,NA,21,NA,23,21,22,26,27,15,20,NA,25,NA,28,28,27,NA)
df= data.frame(Sites, Meas)
for(i in Sites) {
d = subset(df, Sites = i)
d$fit = na.interpolation(d$Meas)
}
我想要的是取 d$fit 并将其重新匹配到一个新列 df$fit 中,以便正确匹配测量次数和每个站点。有什么建议,或者对我的方法进行彻底改革?提前致谢!