New*_*e_R 6 arrays r matrix apply
如果我有阵列A.
A <- array(0, c(4, 3, 5))
for(i in 1:5) {
set.seed(i)
A[, , i] <- matrix(rnorm(12), 4, 3)
}
Run Code Online (Sandbox Code Playgroud)
如果我有矩阵B
set.seed(6)
B <- matrix(rnorm(12), 4, 3)
Run Code Online (Sandbox Code Playgroud)
从数组A的每个矩阵中减去B的代码是:
d<-array(0, c(4,3,5))
for(i in 1:5){
d[,,i]<-A[,,i]-B
}
Run Code Online (Sandbox Code Playgroud)
但是,使用"apply"系列函数执行相同计算的代码是什么?
也许不是很直观:
A[] <- apply(A, 3, `-`, B)
Run Code Online (Sandbox Code Playgroud)