Das Dummy-Daten-Set ist:cumsum für einzigartigen Wert mit dplyr mutieren
data <- data.frame(
id = c(1,1,2,2,3,4,5,6),
value = c(10,10,20,20,10,30,40,50),
other = c(1,2,3,4,5,6,7,8)
)
Die Daten waren Ausgang group_by(id)
Betrieb in dplyr
Rohr. Jede id
ist mit höchstens einem Wert verknüpft und zwei verschiedene id
können denselben Wert haben. Ich muss kumulative Summe über IDs finden, indem ich neue Spalte hinzufüge: cum_col = c(10,10,30,30,40,70,110,160)
Die cumsum
in mutate
wird kumulative Summe über die gesamte Spalte der Werte finden und wählt nicht nur einen Wert pro Gruppe aus. summarise
ist nicht nützlich, da es andere Spalten gibt, die ich intakt behalten muss.
Gibt es einen Ausweg, ohne summarise
und dann join
zu verwenden - rückwärts zu gehen? Oder bitte zeigen Sie mir, ob der Link bereits beantwortet wurde.
Edit: Nur für Informationen die tatsächlichen Daten hat ~ 2 Millionen Zeilen und 100 Spalten.
Sie benötigen nur 'als auch dplyr' Antwort oder Sie sind offen für andere Optionen tun könnte? Außerdem hätte eine Gruppe immer nur einen einzigen "Wert"? –
Nur 'dplyr' wie bin Rohr verwenden, um ein paar andere Mutationen und Operationen in einem Codeblock zu tun – Kaur
Ja, Gruppe wird immer einen eindeutigen Wert haben – Kaur