我有一个矢量列表,像这样:
[[1]]
[1] 1 2 7 9 10 13 14 15 20
[[2]]
[1] 3 4 5 6
[[3]]
[1] 8 11 12
[[4]]
[1] 16 17 18 19
[[5]]
[1] 21 22 23
Run Code Online (Sandbox Code Playgroud)
我想将列表转换为矩阵,其中每个向量的内容与双括号中的列表索引号相关联.
例:
[,1] [,2]
[1,] 1 1
[2,] 1 2
[3,] 1 7
[4,] 1 9
[5,] 1 10
[6,] 1 13
[7,] 1 14
[8,] 1 15
[9,] 1 20
[10,] 2 3
[11,] 2 4
[12,] 2 5
[13,] 2 6
[14,] 3 8
[15,] 3 11
[16,] 3 12
[17,] 4 16
[18,] 4 17
[19,] 4 18
[20,] 4 19
[21,] 5 21
[22,] 5 22
[23,] 5 23
Run Code Online (Sandbox Code Playgroud)
nic*_*ico 10
您可以使用unlist获取列表中的值,然后使用sapply获取列表的每个元素中的值的数量.
# Generate the list
a <- list(1:10, 20:30, 40:45)
# Find the number of elements
num.el <- sapply(a, length)
# Generate the matrix
res <- cbind(unlist(a), rep(1:length(a), num.el))
Run Code Online (Sandbox Code Playgroud)
library(reshape2)
lst <- list(c(1:3), c(11:12), c(22))
> melt(lst)
value L1
1 1 1
2 2 1
3 3 1
4 11 2
5 12 2
6 22 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22092 次 |
| 最近记录: |