Si supponga di avere un frame di dati come questo:Calcolare somme cumulative di certi valori
df <- data.frame(Nums = c(1,2,3,4,5,6,7,8,9,10), Cum.sums = NA)
> df
Nums Cum.sums
1 1 NA
2 2 NA
3 3 NA
4 4 NA
5 5 NA
6 6 NA
7 7 NA
8 8 NA
9 9 NA
10 10 NA
e si desidera un output come questo:
Nums Cum.sums
1 1 0
2 2 0
3 3 0
4 4 3
5 5 5
6 6 7
7 7 9
8 8 11
9 9 13
10 10 15
L'4. elemento della colonna Cum.sum è la somma di 1 e 2, l'elemento 5. della colonna Cum.sum è la somma di 2 e 3 e così via ... Ciò significa che vorrei costruire la somma cumulativa della prima riga e salvarla nella seconda fila. Tuttavia non desidero la somma cumulativa normale ma la somma delle righe dell'elemento 2 sopra la riga corrente più le righe dell'elemento 3 sopra la riga corrente.
Ho già provato a giocare un po 'con la somma e la funzione cumsum ma ho fallito.
Qualche idea?
Grazie!
Grazie Joshua! Funziona alla grande! –