0

我有以下数据框,并想计算组内所有行(“id”)的“toSum”列的总和,其中另一列(“index”)的值小于当前行。

id <- c("A", "A", "A", "B", "B", "B")
index <- c(5,7,11,2,5,8)
toSum <- c(0.5,0.4,0.2,0.1,0.9,0.8) 
data <- data.frame(id, index, toSum)
ID 指数 总结
一个 5 0.5
一个 7 0.4
一个 11 0.2
2 0.1
5 0.9
8 0.8

我想将结果添加为这样的列:

ID 指数 总结 先验和
一个 5 0.5 0
一个 7 0.4 0.5
一个 11 0.2 0.9
2 0.1 0
5 0.9 0.1
8 0.8 1

我可以使用以下代码计算组中值较低的行数: data <- data %>% group_by(id) %>% mutate(priorSum = map_int(index, ~ sum(.x > index)))

但是,我无法对不同的变量求和。

非常感谢您的帮助!

4

0 回答 0