r - R:对按特定列分组的特定列求和
问题描述
我有一个看起来像这样的数据框:
Col1 Col2 Col3 Col4
10 A 5 4
10 A 6 3
30 B 2 7
45 C 5 1
45 C 2 1
我想将仅按 Col2 分组的第 3 列和第 4 列相加,这样我的结果数据框看起来像
Col1 Col2 Col3 Col4
10 A 11 7
30 B 2 7
45 C 7 2
Col1 是 Col2 的标识符,所以我希望保留它。谢谢
解决方案
1.最小可重复的示例数据:
df <- structure(list(Col1 = c(10L, 10L, 30L, 45L, 45L),
Col2 = c("A", "A", "B", "C", "C"),
Col3 = c(5L, 6L, 2L, 5L, 2L),
Col4 = c(4L, 3L, 7L, 1L, 1L)),
row.names = c(NA, -5L), class = "data.frame")
2.解决方案使用dplyr
library(dplyr)
df %>%
group_by(Col1, Col2) %>%
summarise(Col3 = sum(Col3),
Col4 = sum(Col4))
回报:
Col1 Col2 Col3 Col4
<int> <chr> <int> <int>
1 10 A 11 7
2 30 B 2 7
3 45 C 7 2
推荐阅读
- java - 为什么即使 Metaspace 未填满,JVM 也会因“java.lang.OutOfMemoryError: Metaspace”而崩溃?
- r - 如何在 R 表的标题中写上标?
- javascript - 如何在 Angular 中生成口语列表?
- sql - SQL 顶部 [参数]
- python - 如何向量化这个简单的 NumPy 函数?
- node.js - 如何解决此错误:找不到模块“ibm-watson”
- shell - 如何测试 conda 环境是否存在并与 shell 中 yml 环境文件的内容匹配
- go - 如何在同一张桌子上混合 Has One 关系和 Has Many 关系
- asp.net - IIS 应用程序池;域管理员密码已更改,现在在事件查看器中看到错误
- amazon-web-services - CloudFormation - IAM - 带标签的访问控制