Subtract matrix of n,k dimensions from array of matrices of n,k dimensions
问题 If I have an array A A <- array(0, c(4, 3, 5)) for(i in 1:5) { set.seed(i) A[, , i] <- matrix(rnorm(12), 4, 3) } and if I have matrix B set.seed(6) B <- matrix(rnorm(12), 4, 3) The code to subtract B from the each matrix of the array A would be: d<-array(0, c(4,3,5)) for(i in 1:5){ d[,,i]<-A[,,i]-B } However, what would be the code to perform the same calculation using a function from "apply" family? 回答1: This is what sweep is for. sweep(A, 1:2, B) 回答2: Maybe not very intuitive: A[] <- apply