r - 如何过滤到指定列的前n个?

标签 r rank

我试图通过测量每种碳水化合物的 AVGMPG 来找到前 n 个圆柱体,然后忽略数据框中的其他所有内容。我的实际问题涉及通过衡量成交率来确定市场上的顶级销售人员。希望这会让我更清楚我正在尝试做什么。有没有办法轻松做到这一点?

> mtcars.1 <- mtcars %>%
+   group_by(carb,cyl) %>%
+   summarise(AVGMPG = mean(mpg))
> mtcars.1
# A tibble: 9 x 3
# Groups:   carb [?]
   carb   cyl AVGMPG
  <dbl> <dbl>  <dbl>
1     1     4   27.6
2     1     6   19.8
3     2     4   25.9
4     2     8   17.2
5     3     8   16.3
6     4     6   19.8
7     4     8   13.2
8     6     6   19.7
9     8     8   15

最佳答案

我们可以尝试

library(dplyr)
n <- 3
mtcars %>% 
   group_by(carb) %>% 
   mutate(AVGMPG = mean(mpg)) %>%  
   group_by(cyl) %>%     
   top_n(n, AVGMPG) %>%
   select(carb, cyl, AVGMPG)

关于r - 如何过滤到指定列的前n个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55397996/

相关文章:

R - 如何声明日期向量?

r - 创建事件的累积计数并保留每个事件前后的第一年

r - 针织前导码错误导致 "pandoc document conversion failed with error 43"

r - ggplot2:geom_errorbarh 末尾两条垂直线的大小

mysql - 查找连接对 SQL 中的第二低值(使用排名)

Mysql 排名,asc 或 desc

r - 设置数组中矩阵的行名称

r - 在 R 中按排名和条件提取行

python - Numpy 等级 1 数组

python - 在列表中查找排名和百分比排名