我有一个包含以下尺寸的数组
myarray<-array(dim=c(20,12,5))
我想得到数组每个切片第二行的平均值,所以总共应该有5个值。我知道我可以通过简单地写一些像
这样的东西来做到这一点mean(myarray[2,,1])
表示阵列的每个切片。但我想用'apply'函数来返回一个5均值的向量。我是R.的新用户。有人可以帮忙吗?
答案 0 :(得分:3)
你可以 apply
一个数组的第三维上的函数:
myarray <- array(runif(20*12*5), dim=c(20,12,5))
apply(myarray, 3, mean)
## [1] 0.4891501 0.5431329 0.5253883 0.5413796 0.5236548
如果必须是第2行,请尝试:
apply(myarray[2,,], 2, mean)
## [1] 0.6633603 0.5042602 0.6347945 0.6094396 0.4131304
答案 1 :(得分:3)
此处不需要申请,您可以使用colMeans:
colMeans(myarray[2,,])
HTH