N08*_*N08 8 r list nested-lists
假设我有N个列表,它们都具有相同的列名.我想合并这些,以便我得到一个具有相同列的结果列表,但现在包含所有N列表中的条目.这是一个显示我想要的MWE:
ls<-list()
ls[[1]]<-list("a"=1,
"b"=2)
ls[[2]]<-list("a"=3,
"b"=4)
#how to write a one-liner that produces lsTotal, which is the union of ls[[1]] and ls[[2]]?
lsTotal<-list("a"=c(1,3),
"b"=c(2,4))
Run Code Online (Sandbox Code Playgroud)
我发现了这个线程,我可以使用它Map(c, ls[[1]], ls[[2]]).然而,如果ls很长的话,写出来是很乏味的.有捷径吗?
一种选择是 tidyverse
library(purrr)
library(dplyr)
transpose(ls) %>%
map(unlist)
Run Code Online (Sandbox Code Playgroud)
或者使用Map与do.call
do.call(Map, c(f=c, ls))
#$a
#[1] 1 3
#$b
#[1] 2 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
354 次 |
| 最近记录: |