首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在groupby r的结果中添加另一列信息

在groupby r的结果中添加另一列信息
EN

Stack Overflow用户
提问于 2020-11-15 16:47:08
回答 1查看 31关注 0票数 0

有人能帮帮我吗?

我有A列、B列和C列,我想要获取C列的顶值(按A分组),但也要包含这些顶值的B信息

代码语言:javascript
运行
复制
Max <-X  %>% select(A,B,C) %>%  group_by(A) %>% summarise(top = max(C))

但是这段代码只显示了每个唯一的A数据的顶值,所以我不知道分配给它的B值是多少。(重要的是,使group_by(A,B)不起作用,因为它没有给出每个唯一的A值的顶值,它返回与数据库X相同的值)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-15 16:55:09

这可以通过dplyr::top_n? dplyr::slice_max实现,如下所示:

代码语言:javascript
运行
复制
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

因此,在您的情况下,它应该是:

代码语言:javascript
运行
复制
Max <-X  %>% select(A,B,C) %>%  group_by(A) %>% slice_max(C)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64842614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档