簡體   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