Я пытаюсь вычислить "скользящую" сводную статистику на основе фактора группирования. Есть ли хороший способ обработки по (перекрывающимся) группам на основе (скажем) упорядоченного фактора?
В качестве примера скажем, я хочу вычислить сумму val
по группам
df <- data.frame(grp = c("a", "a", "b", "b", "c", "c", "c"),
val = rnorm(7))
Для групп на основе grp
это просто:
df %>% group_by(grp) %>% summarise(total = sum(val))
# result:
grp total
1 a 1.6388
2 b 0.7421
3 c 1.1707
Однако я хочу подсчитать «скользящие» суммы для последовательных групп («a» и «b», затем «b» и «c» и т. Д.). Желаемый результат будет примерно таким:
grp1 grp2 total
1 a b 1.6388
2 b c 0.7421
У меня проблемы с этим в dplyr. В частности, я не могу понять, как получить «перекрывающиеся» группы - строки «b» в приведенном выше примере должны оказаться в двух группах вывода.
a,b,c,a,c,d,b,a
? - person vrajs5   schedule 13.06.2014