按特定顺序合并多个数据帧R.

时间:2018-05-23 04:55:03

标签: r merge sequence lapply

我有2个列表,每个列表包含5个数据框,它们按特定顺序排列;

list_1<-list("A","B","C","D")

list_2 <-list(("Aa","Bb","Cc","Dd")

我需要left_join A到Aa,B到Bb等等,因此我不知道减少不是一个选项。非常感谢任何帮助。

我虽然使用了lapply,但我失败了。

1 个答案:

答案 0 :(得分:2)

当我们以相应的顺序加入数据集时,最好使用Map。假设我们将对象名称作为字符串存储在另一个对象('list_1'或'list_2')中,最好将其作为vector而不是list,然后执行mget获取对象的值

Map(function(x, y) merge(x, y, all.x = TRUE), mget(list_1), mget(list_2))

或使用tidyverse

library(tidyverse)
map2(mget(list_1), mget(list_2), left_join)

数据

list_1<- c("A","B","C","D")
list_2 <- c("Aa","Bb","Cc","Dd")