我有3个缺失值的时间序列(T1,T2和T3)。我将它们合并到一个名为x的动物园对象中 (您可以从这里下载:https://www.dropbox.com/s/1xk4qn9hthibqpu/x.rda?dl=0)。
我想使用2组权重(w1和w2)计算加权平均值。 这是我的工作:
library(zoo)
load("x.rda")
w1 <- c(0.38,0.04,0.58)
w2 <- c(0.53,0,0.47)
average1 <- zoo(apply(x, 1, function(rw,w) weighted.mean(rw, weights=w, na.rm=TRUE), w1 ), order.by=index(x) )
average2 <- zoo(apply(x, 1, function(rw,w) weighted.mean(rw, weights=w, na.rm=TRUE), w2 ), order.by=index(x) )
plot(average1-average2)
但是average1和average2是相同的。我做错了什么?
答案 0 :(得分:1)
请参阅?weighted.mean
。参数的名称为w
,而不是weights
:
avg1 <- avg2 <- x[, 1]
avg1[] <- apply(x, 1, weighted.mean, w = w1, na.rm = TRUE)
avg2[] <- apply(x, 1, weighted.mean, w = w2, na.rm = TRUE)