在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中聚合一个轴[重复]的主要内容,如果未能解决你的问题,请参考以下文章