Это мой кадр данных:Накопительной суммы на основе определенных условий
X Y Date Qty CumSumA CumSumB
1 A B 1/1 1 1 0
2 A A 1/1 2 3 2
3 A E 1/1 2 5 2
4 B A 1/1 1 1 1
5 B B 1/1 3 4 4
6 B C 1/1 2 6 4
7 C D 1/1 2 2 2
8 C E 1/1 4 6 2
9 C A 1/1 1 7 2
10 A C 1/2 2 2 0
11 A D 1/2 3 5 0
12 A E 1/2 2 7 0
13 B A 1/2 5 5 0
14 B B 1/2 1 6 1
15 B C 1/2 2 8 1
16 C D 1/2 2 2 4
17 C E 1/2 1 1 4
18 C A 1/2 3 4 4
Я получаю столбец CumSumA с
library(dplyr)
data <- data %>%
group_by(Date,X) %>%
mutate(CumSumA= cumsum(Qty))
Как я могу получить столбец CumSumB таким образом, что это накопленная сумма Qty
для всех строк выше, которые имеют (a) то же значение Date
и (b) тот же номер X
в столбце Y
.
Так, например, строка 16 имеет X
значение C и Date
значение 1/2. Я хочу получить суммарную сумму Qty
всех строк с Y
значением C и Date
значение 1/2. Таким образом, это было бы строки 10 плюс 15, так что это CumSumB 2 + 2 = 4.
Примечание есть более 140 уникальных переменных для столбца X и Y.
Очень хорошо, возможно, добавить некоторые объяснения слишком –
Посмотрите на обновление – Rentrop