获取R中所有列中的多个行的平均值

时间:2016-08-11 06:32:30

标签: r matrix average

我有一个矩阵A [400x100]。我怎样才能得到每列中每20行的平均值。最后,我将所有值都放入矩阵B [20,100]。例如:

B[1,1] = mean(A[1:20])
B[2,1] = mean(A[21:40]) .....

1 个答案:

答案 0 :(得分:1)

我们可以做到

i1 <- as.numeric(gl(nrow(A), 20, nrow(A)))
B <- t(sapply(split(seq_len(nrow(A)), i1), function(i) colMeans(A[i,])))
dim(B) 
#[1]  20 100

数据

A <- matrix(1:40000, nrow = 400, ncol= 100)