R 如何沿三维方向对数组求和
沿维度3对3D数组求和(从而生成矩阵)的标准方法是什么 我知道我可以R 如何沿三维方向对数组求和,r,arrays,aggregate,R,Arrays,Aggregate,沿维度3对3D数组求和(从而生成矩阵)的标准方法是什么 我知道我可以apply(A,c(1,2),sum)但是(错误或正确地)我从某处得到了这样的印象,使用apply并不比使用进行循环好多少 我可能会aperm数组,colSum它,然后再次取消aperm它,但那不是很可读 有更好的方法吗?使用rowSums。它提供了一个dims参数,该参数指定“[w]哪些维度被视为要求和的“行”或“列”。对于行*,求和或平均值大于维度dims+1” a a <- array(1:16, c(2, 2, 2
apply(A,c(1,2),sum)
但是(错误或正确地)我从某处得到了这样的印象,使用apply
并不比使用进行循环好多少
我可能会aperm
数组,colSum
它,然后再次取消aperm
它,但那不是很可读
有更好的方法吗?使用rowSums
。它提供了一个dims
参数,该参数指定“[w]哪些维度被视为要求和的“行”或“列”。对于行*,求和或平均值大于维度dims+1”
a
a <- array(1:16, c(2, 2, 2))
#, , 1
#
# [,1] [,2]
#[1,] 1 3
#[2,] 2 4
#
#, , 2
#
# [,1] [,2]
#[1,] 5 7
#[2,] 6 8
rowSums(a, dims = 2)
# [,1] [,2]
#[1,] 6 10
#[2,] 8 12