【发布时间】:2021-03-16 11:21:03
【问题描述】:
我有 5 个不同的数据框。我想根据它们拥有的公共列将它们合并在一起。但是我该怎么做呢?我阅读了关于 multimerge 的信息,但我不太确定该怎么做。例如我的 csv 文件就像
1st data frame df1
country year weather temperature
2nd data frame df2
country year region
3rd data frame df3
country humidity weather year temperature region
4th data frame df4
country region weather humidity temperature
因此我的最终数据框应该是这样的
country year region
(因为这些列是共同的) 我应该使用
total < - multimerge(df1,df2,df3,df4, by = ["country,year,region"]
但是这会引发错误。
您是否建议另一种可能自动找到常用列并删除其余列的方法?
【问题讨论】:
-
试试
multimerge(list(df1,df2,df3,df4), by = c("country","year","region")) -
对不起,我是 R 新手。它说“找不到函数“multimerge””我从这里找到了命令 rdrr.io/github/vapniks/mergeutils/src/R/merge_utils.R。但是它没有集成在 R 中?我是否必须将大代码复制粘贴为函数?或者可以通过安装包来插入?
-
这种情况下可以使用
Reduce(function(x,y) merge(x,y,by=c("country","year","region")),list(df1,df2,df3,df4))