これは実際には簡単な質問ですが、それでも自分で解決策を見つけることはできません。
長さ 100 のベクトルがあります。今度は、5 つの要素ごとに平均を計算したいと思います。
たとえば、最初の 5 つの要素の 1 つの平均、次の 5 つの観測値の 2 番目の平均などです。
Rでこれを達成するにはどうすればよいですか?
次のようなものはどうですか:
> x <- 1:100
> tapply(x, rep(1:(length(x)/5), each = 5), mean)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3 8 13 18 23 28 33 38 43 48 53 58 63 68 73 78 83 88 93 98
に固執しrep
ますが、@ Ferdinand.kraftを満足させようとすると、あまりきれいではありませんが、それでも人間が読めるかなりの解決策があります。
tapply(x, rep(1:ceiling(length(x)/5), each = 5, length.out = length(x)), mean)
これを使って:
aggregate(x, by=list(0:(length(x)-1) %/% 5), mean)