ผสานหลาย data.frames พร้อมกันในรายการ
ฉันมีรายการของ data.frames มากมายที่ฉันต้องการผสาน ปัญหาที่นี่คือแต่ละ data.frame แตกต่างกันในแง่ของจำนวนแถวและคอลัมน์ แต่พวกเขาทั้งหมดร่วมตัวแปรสำคัญ (ที่ฉันได้เรียก"var1"และ"var2"ในรหัสด้านล่าง) หาก data.frames เหมือนกันในแง่ของคอลัมน์ฉันสามารถทำได้rbindซึ่ง rbind.fill ของplyrจะทำงานได้ แต่นั่นไม่ใช่กรณีของข้อมูลเหล่านี้ เนื่องจากmergeคำสั่งใช้งานได้กับ data.frames เพียง 2 ตัวเท่านั้นฉันจึงหันไปหาแนวคิดทางอินเทอร์เน็ต ฉันได้หนึ่งจากที่นี่ซึ่งทำงานอย่างสมบูรณ์ใน R 2.7.2 ซึ่งเป็นสิ่งที่ฉันมีในเวลา: merge.rec <- function(.list, ...){ if(length(.list)==1) return(.list[[1]]) Recall(c(list(merge(.list[[1]], .list[[2]], ...)), .list[-(1:2)]), ...) } และฉันจะเรียกฟังก์ชั่นเช่นนี้: df <- merge.rec(my.list, by.x = c("var1", "var2"), by.y = c("var1", "var2"), all = T, …