首页 > 解决方案 > 在 R 中的 data.frame 中聚合一个轴

问题描述

考虑以下数据:

df <- data.frame(sex     = c("MALE","FEMALE","MALE","FEMALE"),
                 time    = c("2018","2018","2019","2019"),
                 country = c("USA","USA","USA","USA"),
                 value   = c(10,10,10,10))

如何聚合“性别”轴,得到以下数据:

    TIME    Country   Value
1   2018    USA       20
2   2019    USA       20

我如何在 R 中做到这一点(我知道这可能是一个简单的问题)?

标签: raggregation

解决方案


使用dplyr,以下是您要求的:

df %>% group_by(time, country)%>% summarize(sumval = sum(value))
# A tibble: 2 x 3
# Groups:   time [2]
  time  country sumval
  <chr> <chr>    <dbl>
1 2018  USA         20
2 2019  USA         20

推荐阅读