我是R语言的新手,现在仍然遇到一个简单的问题。
说我有一个数组:A <- array(1:12, c(2, 2, 3))
。我想使用“apply”来计算垂直(第三)维度中4个向量中每个向量中元素的平均值。 (即结果将是2乘2矩阵)
本案的答案应该是:
[,1] [,2]
[1,] 5 7
[2,] 6 8
我只想出使用2 for循环来计算4次平均值的想法。但是由于我的数组非常大,我想知道是否有一种简单的方法可以使用“apply”来实现这个目标?
答案 0 :(得分:2)
您正在寻找:
> apply(A, c(1,2), mean)
[,1] [,2]
[1,] 5 7
[2,] 6 8
如果您想获得3个矩阵中每个矩阵的每个列的均值,请尝试:
> apply(A, 2:3, mean)
[,1] [,2] [,3]
[1,] 1.5 5.5 9.5
[2,] 3.5 7.5 11.5
请注意,apply
中的索引是1表示行(数组的第一个维度),2表示列(数组的第二个维度),3表示数组的第三个维度< / p>