2

特定の行間隔の平均を計算する必要がある長い行列があります。現時点では、次のように手動でこれを行っています。

values <- cbind(1:50,1)

meanqual10 <- mean(values[1:10,1])
meanqual10
[1] 5.5
meanqual15 <- mean(values[11:20,1])
meanqual15
[1] 15.5
meanqual20 <- mean(values[21:30,1])
meanqual20
[1] 25.5
meanqual25 <- mean(values[31:40,1])
meanqual25
[1] 35.5
meanqual30 <- mean(values[41:50,1])
meanqual30
[1] 45.5

これを行うためのより良い方法があるはずです。誰でも助けてもらえますか?

4

2 に答える 2

5

Señor O の回答は、定期的な間隔がある場合に役立ちます。任意の行を選択する場合の別のアプローチは、次のようになります。

l <- list(1:10,11:20,21:30,31:40,41:50) # vectors of any length or ordering
sapply(l, function(x) mean(values[x,1]))

これにより、次のことが得られます。

[1]  5.5 15.5 25.5 35.5 45.5

もちろんby、任意の行に対してもこれを行うことができます。これは、わずかに異なるアプローチです。

于 2013-07-04T21:06:12.937 に答える