【发布时间】:2017-03-19 23:26:44
【问题描述】:
我有两个数据框:
数据帧 #1
A B C D E
2 1 0 5 7
和
数据框 #2
C E F G
3 1 0 9
我想合并这两个数据框,使第一个数据框作为参考,并将共同的列添加在一起
解决方案应如下所示:
A B C D E
2 1 3 5 8
请注意,共享列(列 C 和 E)的元素已添加,而 Dataframe #2 中的额外列(列 F 和 G)被忽略,因为在 Dataframe #1 中找不到它们。每个 Dataframe 都有一行。
我尝试使用 R 中的本机函数以及合并包来完成此操作,但我没有运气。在我的应用程序中,我需要组合数千列,其中许多列在两个数据帧之间共享,因此我正在开发一个强大的解决方案。
谢谢!
【问题讨论】:
-
overlap = intersect(names(df1), names(df2)); df1[overlap] = df1[overlap] + df2[overlap]。假设数据框中的行数相同。