同じ長さの 2 つの「zoo」ベクトルがあり、両方のインデックスが同じであるとします。
日付(インデックス)ごとに両方の平均を取ることができる簡単な関数はありますか?
ありがとう!
両方を足して 2 で割るだけの 1 つのソリューションを次に示します。
R> a <- zoo(1:10, Sys.Date()+0:9)
R> b <- zoo(10:1, Sys.Date()+0:9)
R> z <- (a + b) / 2
R> merge(a, b, z)
a b z
2011-07-06 1 10 5.5
2011-07-07 2 9 5.5
2011-07-08 3 8 5.5
2011-07-09 4 7 5.5
2011-07-10 5 6 5.5
2011-07-11 6 5 5.5
2011-07-12 7 4 5.5
2011-07-13 8 3 5.5
2011-07-14 9 2 5.5
2011-07-15 10 1 5.5
R>
関数があるとは思いませんが、それは非常に簡単ですapply
:
set.seed(21)
z1 <- zoo(rnorm(10), Sys.Date()-10:1)
z2 <- zoo(rnorm(10), Sys.Date()-10:1)
z <- merge(z1,z2)
z$z3 <- apply(z,1,mean)