1

我有 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 是相同的。我究竟做错了什么?

4

1 回答 1

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)
于 2014-08-23T11:23:34.703 回答