如何用列表中的 tibbles 和 tibbles 展平列表以使所有 tibbles 处于同一级别?

How to flatten a list with tibbles and tibbles within lists to have all tibbles on the same level?

我有一个列表,其中列表元素是小标题或包含多个小标题的列表。我想要一个列表,其中所有小标题都在同一水平上。

我该怎么做?

library(tibble)

tib_1 <- tibble(a = 1:4, b = LETTERS[1:4])
tib_2 <- tibble(c = 1:4, d = LETTERS[1:4])
tib_3 <- tibble(e = 1:4, f = LETTERS[1:4])
tib_4 <- tibble(g = 1:4, h = LETTERS[1:4])

my_list <- list(tib_1, tib_2, list(tib_3, tib_4))

desired_list <- list(tib_1, tib_2, tib_3, tib_4)

我们可以直接使用flatten

library(rlang)
out <- flatten(my_list)

-正在检查

identical(desired_list, out)
#[1] TRUE