在R中的data.frame中聚合一个轴[重复]

Posted

技术标签:

【中文标题】在R中的data.frame中聚合一个轴[重复]【英文标题】:Aggregate an axis in data.frame in R [duplicate] 【发布时间】:2021-02-27 17:59:41 【问题描述】:

考虑以下数据:

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 中做到这一点(我知道这可能是一个简单的问题)?

【问题讨论】:

这真的是您期望的结果吗? 对不起。当然不是。现在改变了。 :-) 试试aggregate like :aggregate(value ~ time + country, df, sum) 这是一个分组总和,按时间和国家分组 - 请参阅常见问题解答了解几种方法。 【参考方案1】:

使用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

【讨论】:

以上是关于在R中的data.frame中聚合一个轴[重复]的主要内容,如果未能解决你的问题,请参考以下文章

R重命名没有中间对象的对象/ data.frame

R plotly - 显示不同的标签

将轴刻度标签中的一个字符更改为斜体,同时保留多行[重复]

在 R plotly 子图上获取单独的轴标签

R: data.frame 生成操作数组。重命名增删改

更改 data.frame 中的单行名称