为R中的每个x值压缩(添加)多个y值。

时间:2019-06-26 14:29:02

标签: r add

我有一个数据框,其中每个x值都有多个y值。我想从这个框架创建一个新的数据框,每个x值只有一行,并将与每个x关联的y和z的所有值加在一起。

x   y   z
0   0   0
0   1   0
0   0   0
1   2   0
1   0   1
1   0   1
2   0   2
2   1   1
2   2   0
2   0   2
3   1   2
3   1   3

这是我希望结果显示为的样子:

x   y   z
0   1   0
1   2   2
2   3   5
3   2   5

是否有可能使用cumsum进行此操作,是否有条件地在x上进行?谢谢。

1 个答案:

答案 0 :(得分:1)

我们可以使用aggregate中的base R来对'x'进行分组,并获得其他列的sum

aggregate(.~ x, df1, sum)
#  x y z
#1 0 1 0
#2 1 2 2
#3 2 3 5
#4 3 2 5