将一个向量的值与另一个向量分组后的总和

时间:2018-12-07 22:39:51

标签: r

x <-  c(1,   2,  2,  3,  3, 3,    4)
Fx <- c(.4, .2, .4, .5, .2, 1.2, .8)

所以我想按x的值对Fx进行分组,然后将各组中的值求和。

它应该返回:

new_x <-  c(1,   2,     3,         4)
new_Fx <- c(.4, .2+.4, .5+.2+1.2, .8)

如何在r中执行此操作?

1 个答案:

答案 0 :(得分:0)

此问题曾在这里被问过:How to sum a variable by group?

使用您的数据,您可以尝试以下操作:

df <-  data.frame(x=c(1,   2,  2,  3,  3, 3,    4), 
                 Fx = c(.4, .2, .4, .5, .2, 1.2, .8))

df$x <- as.character(df$x)

aggregate(df$Fx, by=list(x = df$x), FUN=sum)
相关问题