У меня есть фрейм данных (df, образец которого был создан ниже).Я хочу сгруппировать по group1 и group2 и взять среднее значение.Принимая среднее значение, я хочу включить предыдущие группы в group1.
df = data.frame(group1 = c('a','a','a','a','a','b','b','b','c','c','c'),
group2 = c(1,1,2,2,3,1,1,2,1,2,2),
values = c(2,3,4,3, 9,3,2,5,6,3,0))
Пример может лучше всего проиллюстрировать: первая и вторая строки принадлежат одной группе, и они в среднем составляют 2,5.Третья и четвертая группа принадлежат к той же группе, и они в среднем 3,5.Но поскольку они также принадлежат группе 1 (а), я хочу, чтобы желаемый результат был 3, как показано ниже.
group1 group2 meanvalues
a 1 2.5
a 2 3
a 3 4.2
b 1 2.5
b 2 3.33
c 1 6
c 2 3
Ниже приведен мой код, но они принимают только среднее значение в каждой группе
df2 <- df %>% group_by(group1, group2) %>%
summarize(meanvalues = mean(values))