R 将不同长度的向量列表转换为矩阵

loc*_*ket 5 r

我有以下列表,我想将其转换为矩阵 M:

L<-list(c(2L, 29L, 30L), c(1L, 3L, 30L, 31L), c(2L, 31L, 32L), c(5L, 
60L), c(4L, 6L, 60L, 61L), c(5L, 7L, 61L, 62L))

[[1]]
[1]  2 29 30

[[2]]
[1]  1  3 30 31

[[3]]
[1]  2 31 32

[[4]]
[1]  5 60

[[5]]
[1]  4  6 60 61

[[6]]
[1]  5  7 61 62

Matrix M:

2 29 30 NA
1 3 30 31
2 31 32 NA
5 60 NA NA
4 6 60 61
5 7 61 62
Run Code Online (Sandbox Code Playgroud)

我希望每个列表都是矩阵的一行,并用 NA 填充任何缺失的值。

akr*_*run 3

根据列表元素的长度追加NA到每个元素的末尾,然后使用withlistmaxlength<-rbinddo.call

mx <- max(lengths(L))
do.call(rbind, lapply(L, `length<-`, mx))
Run Code Online (Sandbox Code Playgroud)

-输出

    [,1] [,2] [,3] [,4]
[1,]    2   29   30   NA
[2,]    1    3   30   31
[3,]    2   31   32   NA
[4,]    5   60   NA   NA
[5,]    4    6   60   61
[6,]    5    7   61   62
Run Code Online (Sandbox Code Playgroud)