a <- 1:6;
b <- seq(0.2,8,length.out = 6)
set.seed(1)
d <- runif(6, 0, 1)
e <- rnorm(6, 0, 1)
我如何得到以下结果:三维数组,dim = c(2, 2, 6)
,由 6 个矩阵组成。第 i 个矩阵由 a[i]、b[i]、d[i]、e[i] 组成。
这是一个使用 rbind
的方法。这是有效的,因为 R 按列存储矩阵,因此我们可以在存储到数组中之前使用 rbind
将 a、b、d 和 e 的相应值存储在一起。
myArray <- array(rbind(a, b, d, e), c(2, 2, 6))
前两个 Z 值为
myArray[,,1:2]
, , 1
[,1] [,2]
[1,] 1.0 0.2655087
[2,] 0.2 1.5952808
, , 2
[,1] [,2]
[1,] 2.00 0.3721239
[2,] 1.76 0.3295078
array_test <- array(,c(2, 2, 6))
for(i in 1:6){
array_test[,,i] <- matrix(c(a[i],b[i],d[i],e[i]), ncol = 2, nrow = 2)
}