You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

dplyr包中arrange()函数采用的排序算法是什么?

dplyr::arrange() 背后的排序算法
  • arrange()本身不实现排序逻辑,它最终调用R基础包的order()函数生成排序索引,再用这些索引重排数据行。
  • R的order()依赖底层的排序实现:
    • 从R 3.3.0版本起,默认用Timsort——这是一种融合归并排序与插入排序的混合算法,在实际数据场景下性能表现优异;
    • 针对整数向量排序,会自动切换到基数排序(radix sort)来提速;
    • R 3.3.0之前的版本,默认使用归并排序(merge sort)。
  • 你提到的选择排序(selection sort)并不是R常用的排序算法,它时间复杂度高(O(n²)),仅适用于极小规模数据,R的基础排序实现早已不用这类低效算法。

内容的提问来源于stack exchange,提问作者Andre Faria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:32:34