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

dplyr::arrange(v1.1.0)返回意外结果,是否为设计或待修复Bug?

dplyr::arrange 1.1.0版本排序变化说明

这是设计变更,不是bug,不会被修复。

dplyr 1.1.0对字符列的排序逻辑做了调整:

  • 旧版本(1.0.10及之前)默认采用不区分大小写的字母序排序,所以你的示例会得到aa, Anslag, BB, bb的结果。
  • 新版本1.1.0默认遵循系统区域设置(locale)的排序规则,若你的系统locale为C(常见默认设置),会严格按字符ASCII码值排序——大写字母ASCII码小于小写字母,因此出现Anslag, BB, aa, bb的结果。

如果需要恢复旧版本的排序行为,可以在arrange()里显式指定规则:

# 不区分大小写排序,匹配旧版本行为
dplyr::arrange(c, stringr::str_sort(a, ignore_case = TRUE))

# 或者沿用base::sort的旧逻辑
dplyr::arrange(c, base::sort(a, method = "shell"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:42:47