R 如何计算合并两个数据帧时每列的总和而不指定列名

R 如何计算合并两个数据帧时每列的总和而不指定列名,r,R,我有两个数据帧,如下所示: > d1 v x y 1 X 1 5 2 X 2 6 3 X 3 7 4 X 4 8 > d2 v x y 1 X 1 5 2 X 2 6 3 X 3 7 4 X 4 8 我想合并它们,并对每个x和y求和。下面的命令对我来说很好: > ddply(merge(d1,d2, all=TRUE), .(v), summarise, x=sum(x), y=sum(y)) v x y 1 X 10 26 在上面的命令中,我必须为x和y指

我有两个数据帧,如下所示:

> d1
  v x y
1 X 1 5
2 X 2 6
3 X 3 7
4 X 4 8
> d2
  v x y
1 X 1 5
2 X 2 6
3 X 3 7
4 X 4 8
我想合并它们,并对每个
x
y
求和。下面的命令对我来说很好:

> ddply(merge(d1,d2, all=TRUE), .(v), summarise, x=sum(x), y=sum(y))
  v  x  y
1 X 10 26

在上面的命令中,我必须为
x
y
指定列名。我正在寻找一种通过指定每个列名来计算和值的方法。因为我有一个包含20多列的数据框,所以我不想指定每一列。是否有一种自动计算所有列的方法?

在您的示例中,由于
d1
d1
是相同的,
合并
没有做任何事情,但假设它做了您想要的,您可以使用
库(dplyr);完全联接(d1,d2)%%>%group\U by(v)%%>%SUMMARE\U all(sum)
您的命令工作正常。但是我想我们的方法更简单:
d1[2:3]+d2[2:3]
如果我不关心列
v
,则返回类似的结果。是否正确?它不会按
v
值进行聚合,您需要执行
colSums
来折叠列,但对于示例数据是。