r语言 - 如何将四个向量组合成三维数组


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)
 }

相关内容

  • 没有找到相关文章

最新更新