我有几个列表(我们称之为子列表)嵌套在一个唯一列表(我们称之为上列表)中。每个子列表都包含几个可藏元素。每个子列表都有许多介于1和8之间的元素,但每个子列表之间的元素不同。无论子列表中元素/tibbles的数量是多少,我都希望绑定这些元素/tibbles的行,以便上面列表中的每个元素都是一个大tibble。
我知道如何访问嵌套列表中的元素,但问题是每个子列表中的元素数量不相同,所以我不知道如何在循环中进行此操作。
如何创建绑定子列表中所有tibble的循环,无论tibble的数量是多少?
下面是一个可重复的例子:
library(tibble)
library(dplyr)
data1 <- tibble(id = rep(1, 26),
x = letters)
data2 <- tibble(id = rep(2, 26),
x = letters)
data3 <- tibble(id = rep(3, 26),
x = letters)
list_one <- list(data1, data2)
list_two <- list(data1, data2, data3)
full_list <- list()
full_list[["list_one"]] <- list_one
full_list[["list_two"]] <- list_two
这就是预期的结果:
result <- list()
result[["list_one"]] <- bind_rows(data1, data2)
result[["list_two"]] <- bind_rows(data1, data2, data3)
> result
$list_one
# A tibble: 52 x 2
id x
<dbl> <chr>
1 1 a
2 1 b
3 1 c
4 1 d
5 1 e
6 1 f
7 1 g
8 1 h
9 1 i
10 1 j
# ⦠with 42 more rows
$list_two
# A tibble: 78 x 2
id x
<dbl> <chr>
1 1 a
2 1 b
3 1 c
4 1 d
5 1 e
6 1 f
7 1 g
8 1 h
9 1 i
10 1 j
# ⦠with 68 more rows