arrays - 如何将列表转换为 R 中的数组?

标签 arrays r

我想在 R 中将列表转换为数组,如下所示。数据中的每个元素恰好是一个 3 维数组,但类是“列表”,而所需的输出是类“数组”。

输出是类列表:

>data
  $ind1
            [,1]        [,2]     [,3
   [1,] 57.71157  1.95974925 269.881
   [2,] 68.61496 -3.63548833 269.836
   [3,] 70.55135  0.31777057 266.963

  $ind2
            [,1]         [,2]     [,
   [1,] 61.31171  3.733692169 274.02
   [2,] 65.56570 -5.445514560 271.48
   [3,] 68.91904 -3.202808022 269.16

  $ind3
            [,1]       [,2]     [,3]
   [1,] 57.40768  -3.343789 253.6673
   [2,] 62.94523 -13.065327 253.8842
   [3,] 66.52199 -12.943937 250.7863

期望的输出是类数组:

>data$ind
  , , ind1

            [,1]        [,2]     [,3]
   [1,] 57.71157  1.95974925 269.8813
   [2,] 68.61496 -3.63548833 269.8362
   [3,] 70.55135  0.31777057 266.9638

  , , ind2
            [,1]         [,2]     [,3]
   [1,] 61.31171  3.733692169 274.0263
   [2,] 65.56570 -5.445514560 271.4852
   [3,] 68.91904 -3.202808022 269.1676

  , , ind3
            [,1]       [,2]     [,3]
   [1,] 57.40768  -3.343789 253.6673
   [2,] 62.94523 -13.065327 253.8842
   [3,] 66.52199 -12.943937 250.7863

最佳答案

最简单的方法是使用 abind 包:

library(abind)

test_mat <- lapply(1:3, function(x) matrix(runif(12), nrow=3, ncol=4))

abind(test_mat, along=3)

, , 1

          [,1]      [,2]      [,3]      [,4]
[1,] 0.9493937 0.7062080 0.2965067 0.4881118
[2,] 0.1280332 0.2595627 0.6954514 0.7917190
[3,] 0.3611595 0.2219669 0.7363357 0.3025325

, , 2

          [,1]       [,2]      [,3]      [,4]
[1,] 0.5407829 0.70890818 0.7959612 0.4637777
[2,] 0.7743566 0.07994314 0.2751361 0.7770016
[3,] 0.5873859 0.55288233 0.5701440 0.5282996

, , 3

           [,1]      [,2]      [,3]       [,4]
[1,] 0.34326044 0.6389373 0.7563659 0.83533279
[2,] 0.06685802 0.7410194 0.1814166 0.91156363
[3,] 0.86907376 0.4374175 0.1335296 0.02717944

关于arrays - 如何将列表转换为 R 中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51817048/

相关文章:

arrays - 从 Ruby 数组中删除次要项

r - 使用ggplot2绘制具有多个子多边形和孔的SpatialPolygons

python - 使用 igraph 进行频繁的子图挖掘

r - 根据R中列散点图中的值的一种颜色渐变

javascript - Lodash 从重复的对象键创建集合

php - 在数组中格式化日期,内爆并插入数据库

python - 使用列表中的随机元素创建 numpy 数组

c++ - 将数组连接到 Qt 中的信号槽机制

r - 在 R 中调试的一般建议

在 Shiny 的主面板中右对齐元素