2017-04-26 68 views
1

所以可以说我有一个载体R:计算平均每n值从向量

a <- rnorm(6000) 

我要计算的第一个值60的平均值,然后再计算平均为61价值到第120位等等。所以基本上我想要计算每60个数值的平均值,给我100个平均值。我知道我可以做一个for循环,但我想知道是否有更好的方法来做到这一点?

+0

你可能会很高兴给看看[应用()](https://www.datacamp.com/community/tutorials/r-tutorial-apply-family#gs.kcIGiwE)功能 – Trolldejo

+0

应用功能大多好用于数据帧/矩阵。我在这里问一个向量。 – arezaie

回答

6

我会用

colMeans(matrix(a, 60)) 

或更有效,无须转换为矩阵:

.colMeans(a, 60, 100) 

其他解决方案splitlapply,或tapply的解决方案将不予讨论。

+2

'.colMeans'对我来说是新的。不错的选择 – akrun