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_")

请提供一些玩具数据。