如何在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