将表列表转换为矩阵

use*_*115 2 r list matrix

我有一个包含270个表的列表.每个表有3列22行,看起来像这样:

                1         2         3
lx      -0.206628 -0.148405 -0.159344    
ly       0.017395  0.043114  0.027263    
lz      -0.044009  0.005597 -0.016906
...
Run Code Online (Sandbox Code Playgroud)

我需要将这些表中的每一个合并为一个巨大的270x66矩阵,其中行是每个表,列是表列中的值.我已经尝试使用lapply,as.matrixdata.matrix.是否有某种组合可以解决这些问题?或者我应该首先将表转换为向量,然后转换为矩阵?我知道循环通常是不鼓励的.

Sve*_*ein 5

您可以使用创建矢量unlist然后创建一个新矩阵:

matrix(unlist(mylist), nrow = length(mylist), byrow = TRUE)
Run Code Online (Sandbox Code Playgroud)

一个例子:

mylist <- rep(list(matrix(1:9, 3)), 3)
matrix(unlist(mylist), nrow = length(mylist), byrow = TRUE)
# 
#       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
# [1,]    1    2    3    4    5    6    7    8    9
# [2,]    1    2    3    4    5    6    7    8    9
# [3,]    1    2    3    4    5    6    7    8    9
Run Code Online (Sandbox Code Playgroud)