R 如何将数据聚合到TIBLE中的一行?
当前代码:R 如何将数据聚合到TIBLE中的一行?,r,dplyr,R,Dplyr,当前代码: ROW_tidy <- data %>% group_by(year, country) %>% summarize("Suicides Per 100K Population" = (sum(suicides_no)/sum(population)) * 100000) year country Suicides Per 100K Population 1985 Antigua a
ROW_tidy <- data %>%
group_by(year, country) %>%
summarize("Suicides Per 100K Population" = (sum(suicides_no)/sum(population)) * 100000)
year country Suicides Per 100K Population
1985 Antigua and Barbuda 0.00000000
1985 Argentina 7.33828458
1985 Australia 12.77939914
然而,我想编辑这个tibble,以便它描述美国每10万人口的自杀率和世界其他地区每10万人口的自杀率(合计/平均所有其他国家每10万人口的自杀率)。我该怎么做呢?首先,你可以根据国家是美国还是其他国家进行分组(否则我认为你会发送一条扭曲的信息,不考虑每个国家的人口平均这些比率)。
然后,您可以使用
tidyr::pivot\u 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_")
请提供一些玩具数据。