在R中工作。我有9个数据框,它们共享一个我想加入的通用ID。通常我只使用2个dfs来使用inner_join,但是使用9则要复杂一些(并且我不太擅长R)。有什么建议吗?
我们可以将其放入list
,然后将inner_join
与reduce
结合使用
library(dplyr)
library(purrr)
lst1 <- list(df1, df2, df3, ...., dfn)
如果对象名称具有模式,即df
后跟一些数字,则可以更轻松地将其转换为list
lst1 <- mget(ls(pattern = '^df\\d+$'))
reduce(lst1, inner_join, by = 'ID')
在base R
中,可以用merge
和Reduce
来完成>
Reduce(function(...) merge(..., by = 'ID'), lst1)