#r #dplyr
#r #dplyr
Вопрос:
Текущий код:
ROW_tidy <- data %>%
group_by(year, country) %>%
summarize("Suicides Per 100K Population" = (sum(suicides_no)/sum(population)) * 100000)
Который создает этот Tibble (только первые 3 строки):
year country Suicides Per 100K Population
1985 Antigua and Barbuda 0.00000000
1985 Argentina 7.33828458
1985 Australia 12.77939914
Тем не менее, я хотел бы отредактировать этот tibble, чтобы он определял количество самоубийств в США на 100 тыс. населения и количество самоубийств в остальном мире на 100 тыс. населения (агрегируя / усредняя количество самоубийств во всех других странах на 100 тыс. населения) за каждый год. Как бы я это сделал?
Комментарии:
1. Пожалуйста, предоставьте некоторые игрушечные данные.
Ответ №1:
Прежде всего, вы можете сгруппировать по тому, является ли страна США или любой другой страной (в противном случае, я думаю, вы отправили бы искаженное сообщение, усредняя эти показатели без учета населения каждой страны).
Затем вы можете использовать tidyr::pivot_wider
для создания столбцов для ваших строк данных:
library(dplyr)
library(tidyr)
data %>%
group_by(year, country_group = ifelse(country == "USA", "USA", "rest_of_world")) %>%
summarize(suicides = (sum(suicides_no)/sum(population)) * 100000) %>%
pivot_wider(names_from = country_group, values_from = suicides, names_prefix = "suicides_per100k_in_")