a <- 1:6;
b <- seq(0.2,8,length.out = 6)
set.seed(1)
d <- runif(6, 0, 1)
e <- rnorm(6, 0, 1)
如何得到以下结果:由6个矩阵组成的三维数组dim = c(2, 2, 6)
。第i个矩阵由[i],b [i],d [i],e [i]组成。
答案 0 :(得分:3)
以下是使用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
答案 1 :(得分:1)
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)
}