我有一个很长的矩阵,我需要计算其中一定间隔的行的平均值。目前我正在像这样手动执行此操作:
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
一定有更好的方法来做到这一点。有人可以帮忙吗?
最佳答案
如果您有规律的间隔,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
也可以对任意行执行此操作。这只是一种稍微不同的方法。
关于r - 计算行间隔的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17477867/