如何在R中组合复杂列表中的元素?

如何在R中组合复杂列表中的元素?,r,list,R,List,我正在尝试将列表中不同级别的元素组合在一起。例如,我有一个如下生成的列表 df1<-list(data.frame(f1= c(1:3),f2=c("a","b","c"))) df2<-list(data.frame(f1= c(4:6),f2=c("d","e","f"))) df3<-list(data.frame(f1= c(7:9),f2=c(&qu

我正在尝试将列表中不同级别的元素组合在一起。例如,我有一个如下生成的列表

df1<-list(data.frame(f1= c(1:3),f2=c("a","b","c")))
df2<-list(data.frame(f1= c(4:6),f2=c("d","e","f")))
df3<-list(data.frame(f1= c(7:9),f2=c("x","y","z")))


list1 <- list("table1","comment1",df1)
list2 <- list("table2","comment2",df2)
list3 <- list("table3","comment3",df3)
list <- list(list1,list2,list3)
我不想一个接一个地拔桌子。有简单的方法吗

谢谢

试试下面的代码

do.call(
  rbind,
  lapply(
    list,
    function(v) data.frame(table_name = v[[1]], value = v[[3]][[1]]$f2)
  )
)

  table_name value
1     table1     a
2     table1     b
3     table1     c
4     table2     d
5     table2     e
6     table2     f
7     table3     x
8     table3     y
9     table3     z

使用来自
purr的
map

library(purrr)
library(tibble)
map_dfr(list, ~ tibble(table_name = .x[[1]], value = .x[[3]][[1]]$f2))
-输出

# A tibble: 9 x 2
#  table_name value
#  <chr>      <chr>
#1 table1     a    
#2 table1     b    
#3 table1     c    
#4 table2     d    
#5 table2     e    
#6 table2     f    
#7 table3     x    
#8 table3     y    
#9 table3     z    
#一个tible:9 x 2
#表\u名称值
#        
#1表1 a
#2表1 b
#3表1 c
#4表2 d
#5表2 e
#6表2 f
#7表3 x
#8表3 y
#9表3 z

你们俩都解决了我的问题。但我只是注意到我没有正确地组织列表和最终表格。我将为此事开设一个新的职位。谢谢
# A tibble: 9 x 2
#  table_name value
#  <chr>      <chr>
#1 table1     a    
#2 table1     b    
#3 table1     c    
#4 table2     d    
#5 table2     e    
#6 table2     f    
#7 table3     x    
#8 table3     y    
#9 table3     z