r - Top_n 返回最大值和最小值 - R

标签 r dplyr top-n

top_n() 命令是否可以同时返回最大值和最小值?

使用引用页面 https://dplyr.tidyverse.org/reference/top_n.html 中的示例

我尝试了以下

df <- data.frame(x = c(10, 4, 1, 6, 3, 1, 1)) 
df %>% top_n(c(1,-1)) ## returns an error

df <- data.frame(x = c(10, 4, 1, 6, 3, 1, 1)) 
df %>% top_n(1) %>%  top_n(-1) ## returns only max value


谢谢

最佳答案

不是真的涉及 top_n() ,但你可以尝试:

df %>%
 arrange(x) %>%
 slice(c(1, n()))

   x
1  1
2 10

或者:
df %>%
 slice(which(x == max(x) | x == min(x))) %>%
 distinct()

或者(由@Gregor 提供):
df %>%
 slice(c(which.min(x), which.max(x)))

关于r - Top_n 返回最大值和最小值 - R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59887497/

相关文章:

r - 将 SpatialPointsDataFrame 与 SpatialPolygonsDataFrame 组合时出现错误 : maximum returned dense matrix size exceeded

r - 使用 cowplot 中的 plot_grid 排列绘图时,较长的绘图标签向右移动

r - 从公司的每日返回中找出每周返回

sql - Oracle中如何显示数值最高的记录?

r - 来自 Ubuntu bash 的 Shiny 脚本

r - 结合 geom_boxplot 和 geom_line

r - 如何通过do函数在特定列中拆分不同数量的字符串

r - 如何根据与 R 中分组数据框中其他行中的值的比较来过滤行?

sql - MSSQL 通过 ID 从多列中获取最大值

mysql - 选择不带 "WHERE"子句的 50 个最高第一价格