【发布时间】:2018-01-15 19:40:38
【问题描述】:
我在 R 中有一个类似这样的列表。
> list.data <- list(c(1,2,3), c(4,5), c(6,7,8,9,10))
> list.data
[[1]]
[1] 1 2 3
[[2]]
[1] 4 5
[[3]]
[1] 6 7 8 9 10
(实际列表要长得多,有接近 1000 个元素,每个元素的长度不同)
我想将上面列表的元素组合成一个数据框,这样输出看起来像这样。 ID 表示从中派生出相应值的列表元素
基本上它应该看起来像以下使用 R 代码直接创建的数据框。
> list.data.final <- data.frame("ID"=numeric(10), "value"=numeric(10))
> list.data.final$ID <- c(1,1,1,2,2,3,3,3,3,3)
> list.data.final$value <- 1:10
> list.data.final
ID value
1 1 1
2 1 2
3 1 3
4 2 4
5 2 5
6 3 6
7 3 7
8 3 8
9 3 9
10 3 10
ID 是从中派生值的列表元素。值列包含列表中的所有值。
有没有办法做到这一点?
【问题讨论】:
-
我意识到问题中的输出数据框显示不正确。本质上它应该看起来像下面使用 R 代码直接创建的数据框。