Mam następujący ramkę danych:R- Jak wykonać sumę skumulowaną z unikatowymi identyfikatorami?
d<-data.frame(Day=c(1, 1, 1, 1, 1, 1, 2), ID=c("A", "B", "C", "D", "A", "B", "B"), Value=c(1, 2, 3, 4, 5, 6, 7))
w każdym dniu, chciałbym skumulowaną sumę unikatowych wartości, biorąc tylko ostatnią wartość dla wpisu, który powtarza. My oczekiwany wynik wygląda następująco:
d<-data.frame(Day=c(1, 1, 1, 1, 1, 1, 2), ID=c("A", "B", "C", "D", "A", "B", "B"), Value=c(1, 2, 3, 4, 5, 6, 7), Sum=c(1, 3, 6, 10, 14, 18, 7))
Day ID Value Sum
1 1 A 1 1
2 1 B 2 3
3 1 C 3 6
4 1 D 4 10
5 1 A 5 14
6 1 B 6 18
7 2 B 7 7
gdzie 5th wejście dodaje się wartości 2, 3, 4, 5 (ponieważ powtórzenie) i 6. wejście dodaje się wartości 3, 4, 5 oraz 6 (z powodu powtórzyć A i B). Siódmy wpis rozpoczyna się ponownie, ponieważ jest to nowy dzień.
Nie sądzę, że mogę użyć funkcji cumsum(), ponieważ akceptuje tylko jeden parametr. Nie chcę również przechowywać licznika dla każdego identyfikatora, ponieważ mogę mieć do 100 unikalnych identyfikatorów dziennie.
Wszelkie wskazówki lub pomoc będą mile widziane! Dziękuję Ci!