根据另一列对一列的值求和

时间:2018-08-29 14:29:06

标签: r

我有一个像这样的数据框:

V1   V2  V3
AAA  x   2
AAA  x   5
AAA  y   7
BBB  y   7
BBB  x   8
BBB  y   3

我想总结来自V3的值,具体取决于V1 并得到一个像这样的数据帧:

V1   V2  V3
AAA  x   7
AAA  y   7
BBB  x   8
BBB  y   10

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

使用sqldf。按v1,v2分组并按以下步骤进行sum(v3)

library(sqldf)
sqldf("select V1,V2,sum(V3) from df group by V1,V2")

输出:

    V1 V2 sum(V3)
1 AAA  x       7
2 AAA  y       7
3 BBB  x       8
4 BBB  y      10

答案 1 :(得分:0)

数据集

dt <- data.frame(V1=c("AAA","AAA","AAA","BBB","BBB","BBB"),
                 V2=c("x","x","y","y","x","y"),
                 V3=c(2,5,7,7,8,3))
dt

代码:

library(tidyverse)

dt %>%
  group_by(V1,V2) %>%
  mutate( Sum= sum(V3))
相关问题