如何将R中的二维数组相乘?
我在如何将R中的二维数组相乘?,r,arrays,multidimensional-array,multiplication,R,Arrays,Multidimensional Array,Multiplication,我在R中有两个多维数组 c_t <- array(0, dim = c(2,5,4,3,2), dimnames = list(c("id1", "id2"), c("t1","t2","t3","t4","t5"),
R
中有两个多维数组
c_t <- array(0, dim = c(2,5,4,3,2),
dimnames = list(c("id1", "id2"),
c("t1","t2","t3","t4","t5"),
c("occ1","occ2","occ3","occ4"),
c("age1","age2","age3"),
c("lvl1","lvl2")))
cc <- array(1:96, dim = c(2,2,4,3,2),
dimnames = list(c("id1", "id2"),
c("id1", "id2"),
c("occ1","occ2","occ3","occ4"),
c("age1","age2","age3"),
c("lvl1","lvl2")))
c_t[,1,,,]=1
有没有更好的方法(正确的方法)来乘这个拖曳阵列
for (t in 2:(dim(c_t)[2])-1) {#t is time dimension
for (i in 1:dim(c_t)[1]) {#i is id dimension
for (j in 1:dim(c_t)[3]) {#j is occ dimension
for (k in 1:dim(c_t)[4]) {#k is age dimension
for (l in 1:dim(c_t)[5]){#l is lvl dimension
c_t[,t+1,,,][i,j,k,l]=c_t[,t,j,k,l]%*%cc[,i,j,k,l]
}
}
}
}
}