我想使用filter()R 中的函数处理缺失值。
事实上,我希望计算包含缺失值的经典时间序列在X_t = 1/(2*T+1) * sum(X_i, i = (t-T)...(t+T))哪里。计算时间间隔内的总和,但不给出除 s之外的值的平均值。(X_t)filter()[(t-T);(t+T)]NA
有谁知道如何处理这个问题吗?
如果您想要一个简单的2k+1点移动平均线,您可以这样做:
x <- c(rep(1,5), NA, rep(1,5))
k <- 1 ## Moving average over three points.
smooth <- sapply(1:length(x), mean(x[(i-k):(i+k)], na.rm=TRUE))
Run Code Online (Sandbox Code Playgroud)
在这种情况下,这会产生一个由所有 1 组成的向量。