R:添加两个具有相同尺寸的数据框

use*_*087 5 r

我有 df1:

Type     CA     AR     Total
alpha    2      3        5
beta     1      5        6
gamma    6      2        8
delta    8      1        9
Run Code Online (Sandbox Code Playgroud)

我有 df2:

Type     CA     AR     Total
alpha    3      4        7
beta     2      6        8
gamma    9      1        10
delta    4      1        5
Run Code Online (Sandbox Code Playgroud)

我想添加两个数据框中的值以获得 1 个数据框,结果如下:

    Type     CA     AR     Total
    alpha    5      7        12
    beta     3      11       14
    gamma    15     3        18
    delta    12     2        14
Run Code Online (Sandbox Code Playgroud)

示例 --> (alpha, CA) = 2(来自 df1)+ 3(来自 df2)= 5(结果 df)

有谁知道如何做到这一点?我认为这不完全是合并,因为合并将覆盖该值,而我想添加该值。

提前致谢!!

Dav*_*urg 4

+是矢量化的,这只是 R 中的一个简单操作

cbind(df1[1], df1[-1] + df2[-1])
#    Type CA AR Total
# 1 alpha  5  7    12
# 2  beta  3 11    14
# 3 gamma 15  3    18
# 4 delta 12  2    14
Run Code Online (Sandbox Code Playgroud)

如果您的数据集排序不正确,您可以使用match(如评论中所述)

cbind(df1[1], df1[, -1] + df2[match(df1$Type, df2$Type), -1])
Run Code Online (Sandbox Code Playgroud)