r - 在 groupby r 的结果中添加另一个列信息
问题描述
有人能帮助我吗?
我有 A 列、B 列和 C 列,我想获取 C 列的最高值,按 A 分组,但也有 B 的这些最高值的信息
Max <-X %>% select(A,B,C) %>% group_by(A) %>% summarise(top = max(C))
但是这段代码只显示了每个唯一 A 数据的最高值,所以我不知道分配给它的 B 值是什么。(重要的是,group_by(A,B)
make 不起作用,因为它没有给出每个唯一 A 值的最高值,它返回与数据库 X 相同的值)
解决方案
这可以通过dplyr::top_n
或? dplyr::slice_max
类似方式实现:
library(dplyr)
mtcars %>% select(cyl, mpg, hp) %>% group_by(cyl) %>% top_n(1, hp)
#> # A tibble: 3 x 3
#> # Groups: cyl [3]
#> cyl mpg hp
#> <dbl> <dbl> <dbl>
#> 1 4 30.4 113
#> 2 6 19.7 175
#> 3 8 15 335
mtcars %>% select(cyl, mpg, hp) %>% group_by(cyl) %>% slice_max(hp)
#> # A tibble: 3 x 3
#> # Groups: cyl [3]
#> cyl mpg hp
#> <dbl> <dbl> <dbl>
#> 1 4 30.4 113
#> 2 6 19.7 175
#> 3 8 15 335
因此,在您的情况下,它应该是:
Max <-X %>% select(A,B,C) %>% group_by(A) %>% slice_max(C)
推荐阅读
- asp.net-core - 从 ASP.NET Core 2.2 更新 SQL Server 中的上下文
- c++ - 英特尔引脚:INS_MemoryDisplacement(ins) 并非在所有情况下都有效
- python - 列表比较元素的python列表
- amazon-web-services - 关于为应用程序创建 SAM 模板的建议?
- php - 必须是有效的 JSON 字符串 Laravel 和 Postman
- php - 在没有 JS 的情况下使用 POST 或 GET 循环在 PHP 中从更多输入标签发布数据
- youtube-data-api - 为什么品牌帐户出现以下错误:经过身份验证的用户没有上传和设置自定义视频缩略图的权限
- r - 循环将代码应用于不同的数据并将图保存在 R 中
- javascript - Hot 用 html 和 css 动态创建列表
- r - 为什么summary_table函数在markdown中产生一个不同的表,当它被编织为HTML时