首页 > 解决方案 > 如何进行并行 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){}) 

但我不知道如何以“并行”的方式考虑第二个列表。

例子-

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

标签: rcbind

解决方案


我们可以创建a1a2a3的列表a4并使用Map它们cbind

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)

推荐阅读