我有一个数据框,其中每个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上进行?谢谢。
答案 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