如何进行并行 cbind

How to do a parallel cbind

我在向量中有三个小标题 a、b、c first=c(a,b,c)。我在另一个向量 second=c(d,e,f) 中还有另外三个小标题。我如何进行并行 cbind?所以 a 应该与 d 结合,b 与 e 结合,c 与 f 结合。我从

开始
lapply(first,function(item){}) 

但我不知道如何以 "parallel" 的方式考虑第二个列表。

示例-

a1<-data.frame(a=c(1,2),b=c(4,5))
a2<-data.frame(a=c(5,6),b=c(7,8))
a3<-data.frame(e=c(34,26),f=c(41,65))
a4<-data.frame(e=c(13,25),f=c(14,57))

我想将 a1 绑定到 a3,将 a2 绑定到 a4 以生成

  a b  e  f
1 1 4 34 41
2 2 5 26 65

  a b  e  f
1 5 7 13 14
2 6 8 25 57

我们可以创建 a1a2a3a4 的列表,并使用 Mapcbind

Map(cbind, list(a1, a2), list(a3 ,a4))

#[[1]]
#  a b  e  f
#1 1 4 34 41
#2 2 5 26 65

#[[2]]
#  a b  e  f
#1 5 7 13 14
#2 6 8 25 57

purrr 等价于:

purrr::map2(list(a1, a2), list(a3 ,a4), cbind)

如果我们有对象的字符向量,使用 mget 到 return list 中对象的值,然后使用 map2 循环遍历相应的 list 元素并用 bind_cols

绑定列
library(purrr)
library(dplyr)
map2(mget(first), mget(second), bind_cols)