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
来折叠列,但对于示例数据是。