在对包含时间戳的文件路径进行排序时,我不太理解mixedsort的行为
我有一些时间戳需要排序。
我需要得到最近的日期。
请看下面的示例:
> sort(c("2026-04-05", "2026-04-06"), decreasing=FALSE)
[1] "2026-04-05" "2026-04-06"
> gtools::mixedsort(c("2026-04-05", "2026-04-06"), decreasing=FALSE)
[1] "2026-04-06" "2026-04-05"
我不明白为什么 gtools::mixedsort 会把 “6” 放在 “5” 之前。
解决方案
负号是数字的一部分,-6在 -5之前。把 - 转成+,排序后再转回:
library(gtools)
y <- c("2026-04-05", "2026-04-06")
y |>
chartr("-", "+", x = _) |>
mixedsort(decreasing = FALSE) |>
chartr("+", "-", x = _)
## [1] "2026-04-05" "2026-04-06"
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。