簡體   English   中英

在 R 中將多個數據幀合並為一個

[英]Join several dataframes together into one in R

在 R 工作。 我有 9 個數據框,它們都共享一個我想加入的公共 ID。 通常我會使用只有 2 個 dfs 的 inner_join,但使用 9 會稍微復雜一些(而且我不擅長 R)。 有什么建議么?

我們可以把它放到一個list ,然后使用inner_joinreduce

library(dplyr)
library(purrr)
lst1 <- list(df1, df2, df3, ...., dfn)

如果 object 名稱具有模式,即df后跟一些數字,則可以更輕松地將其轉換為list

lst1 <- mget(ls(pattern = '^df\\d+$'))
reduce(lst1, inner_join, by = 'ID')

base R中,這可以通過mergeReduce來完成

Reduce(function(...) merge(..., by = 'ID'), lst1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM