遍历不同的数组维度

时间:2020-04-16 15:04:46

标签: r

我是R语言的新手,我知道,如果可能的话,最好使用内置函数而不是for循环之类的东西。因此,我想知道它们是否是一种使用诸如“ apply()”之类的函数或其他方法的方法,以进行以下循环。

arr1 <- array(data=rnorm(255,0,1),dim=list(5,5,9))
arr2 <- array(data=apply(arr1,3,function(x)mean(x)),dim=list(9))
var <- array(dim=list(5,5,9))

for(i in 1:9){
    var[,,i] <- arr1[,,i]-arr2[i]
}

谢谢

“”“”“”编辑“”“” 我更改了代码以使其可按建议运行,并更改了“ var”

1 个答案:

答案 0 :(得分:0)

一种解决方案可能是:

abind:::abind(lapply(1:dim(arr2), function(x) arr1[,,x]-arr2[x]), along = 3)
相关问题