R Итоги Tidyverse по группам во фрейме данных - PullRequest
0 голосов
/ 06 августа 2020

Имея такой df:

structure(list(V1 = c("A", "A", "A", "B", "B", "B"), V2 = c(5L, 
5L, 8L, 2L, 9L, 1L)), class = "data.frame", row.names = c(NA, 
-6L))

Используя tidyverse, как я могу получить кумулятивное значение для V2 на основе V1, чтобы я получил

V1 V2 V3
A  5  18
A  5  18 
A  8  18
B  2  12
B  9  12
B  1  12

Итак, я получаю общее сумма на группу в качестве новой переменной.

Thx!

1 Ответ

1 голос
/ 06 августа 2020

Вы можете использовать этот код:

library(data.table)
setDT(df)
df[,V3:=sum(V2),by="V1"]
df[]

Код загружает пакет data.table, вынуждает df ввести data.table по ссылке, принимает сумму V2 в группах V1 и возвращает результат в новый столбец в df с именем V3. df[] просто печатает результат.

...