R中的条件和在不同的列中

时间:2016-12-09 02:53:43

标签: r macos

我想根据A列中的数字对B列中的数字求和。 例如:

A栏:2001 2002 2002 2002 2003 2003

B栏:1 2 3 4 5 6

我想添加一个基于A总结B的C列。我想要的结果是:

A栏:2001 2002 2002 2002 2003 2003

B栏:1 2 3 4 5 6

C栏:1 9(2 + 3 + 4)9 9 11 11

我已经做了很多搜索但是真的不知道从哪里开始,提前感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我们可以在使用'A'

进行分组后使用mutate中的dplyr
library(dplyr)
df1 %>%
    group_by(A) %>%
    mutate(C= sum(B))

ave

中的base R
df1$C <- with(df1, ave(B, A, FUN = sum))

有效的选项是data.table

library(data.table)
setDT(df1)[, C := sum(B), by = A]