У меня есть набор данных о смертности населения, сгруппированных по годам, децилям (ранжированным) депривации, полу, причине смерти и возрасту. Данные о возрасте разбиты на категории, включающие 0-1, 1-4, 5-9, 10-14 и т. Д.
Я пытаюсь привести свой набор данных таким образом, чтобы данные о смертности за 0-1 и 1-4 были объединены для создания возрастных категорий 0-4, 5-9, 10-14 и т. Д. До 90. Мои данные в длинном формате.
Используя dplyr, я пытаюсь использовать if_else и Sumumize () для агрегации данных смертности для 0-1 и 1-4 вместе, однако любая итерация кода, который я применяю, просто производит тот же набор данных, который у меня был изначально, то есть код не объединяя мои данные.
head(death_popn_long) #cause_death variable content removed for brevity
Year deprivation_decile Sex cause_death ageband deaths popn
1 2017 1 Male NA 0 0 2106
2 2017 1 Male NA 0 0 2106
3 2017 1 Male NA 0 0 2106
4 2017 1 Male NA 0 0 2106
5 2017 1 Male NA 0 0 2106
6 2017 1 Male NA 0 0 2106
#Attempt to merge ageband 0-1 & 1-4 by summarising combined death counts
test <- death_popn_long %>%
group_by(Year, deprivation_decile, Sex, cause_death, ageband) %>%
summarise(deaths = if_else(ageband %in% c("0", "1"), sum(deaths),
deaths))
Я бы хотел, чтобы переменная смертей была объединенным (то есть суммой 0-1 и 1-4) смертности для этих возрастных диапазонов, однако приведенный выше любой альтернативный код, который я пытаюсь, просто воссоздает предыдущий набор данных, который у меня уже был .