2

これは実際には簡単な質問ですが、それでも自分で解決策を見つけることはできません。

長さ 100 のベクトルがあります。今度は、5 つの要素ごとに平均を計算したいと思います。

たとえば、最初の 5 つの要素の 1 つの平均、次の 5 つの観測値の 2 番目の平均などです。

Rでこれを達成するにはどうすればよいですか?

4

2 に答える 2

3

次のようなものはどうですか:

> 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)
于 2013-08-25T22:30:23.563 に答える
2

これを使って:

aggregate(x, by=list(0:(length(x)-1) %/% 5), mean)
于 2013-08-25T22:28:38.670 に答える