[英]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.