r - 降序排列并选择R中的前3个
问题描述
数据:
d2
# A tibble: 5 x 2
Dist n
<chr> <int>
1 003 194
2 011 180
3 013 157
4 017 279
5 026 208
从上面的数据“d2”中,我想按降序排列“n”列的值。还想要前 2 个值。
当我使用
arrange(desc(d2$n))
它显示错误:
Error in UseMethod("arrange_") :
no applicable method for 'arrange_' applied to an object of class "c('integer', 'numeric')"
谁能帮我?
解决方案
由于您没有提供数据,这里是一些随机数据的解决方案:
d2 <- tibble(m = runif(5)*10, n = rnorm(5))
d2 %>%
arrange(desc(n)) %>%
slice(1:3)
或者,您可以使用以下top_n
功能:
d2 %>% top_n(3, n)
这两种方法的区别在于top_n
不对结果进行排序。
推荐阅读
- c++ - 如何检查 Media Foundation 是否可以实际播放文件而不仅仅是加载它
- r - Shiny中的内联文本输出
- docker - Docker运行不保存脚本创建的文件
- html - Webpack SVG 渐变问题
- python - Windows XP 上的 PyPy
- c# - 如何在C#中过滤字符
- javascript - 获取所有无序列表元素及其文本 - puppeteer
- spring-boot - Spring Boot Oauth2 资源服务器 UserDetailsService
- javascript - Vue 3 使用异步 json 设置响应式获取
- c++ - 如何使用 C++ 中的迭代器在集合内添加元素?