繁体   English   中英

将数据帧加入两个单独的列表中R

[英]join data frames in two separate lists R

我有2个列表,每个列表包含6个数据帧。

listofdf_1 <- list(a, b, c, d, e, f)
listofdf_2 <- list(a2, b2, c2, d2, e2, f2)

我想将inner_join数据框a与a2,b与b2,c与c2等连接。连接inner_join :ID1

我写了一个函数:

merge_on_id <- function(x, y, join_field) {
  require(dplyr)
  inner_join(x, y, by = join_field)
} 

现在,我将一个接一个地加入: merge_on_id(listofdf_1[[1]], listofdf_2[[1]], by = "ID1")等。

我想知道是否有一种方法可以将所有六个元素合并在一行中,而不必为列表中的每个元素重复。

如果需要inner_join lists相应元素,则可以使用Map

 Map(inner_join, listofdf_1, listofdf_2, MoreArgs=list(by='ID1'))

数据

listofdf_1 <- list(a= data.frame(ID1= LETTERS[1:3], Value= 1:3, stringsAsFactors=FALSE),
          b = data.frame(ID1= LETTERS[4:7], V1= 4:7, stringsAsFactors=FALSE))

listofdf_2 <- list(a2= data.frame(ID1= LETTERS[1:5], Value= 6:10, stringsAsFactors=FALSE), 
      b2 = data.frame(ID1= LETTERS[4:9], V1= 4:9, stringsAsFactors=FALSE))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM