我希望按字母顺序排序我的数据表,由于我来自丹麦,我也想按照Æ、Ø和Å的顺序排序。它们应该按照以下方式正确排序:
dk <- c(LETTERS, "Æ", "Ø", "Å")
dk
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R"
"S" "T" "U" "V" "W" "X" "Y" "Z" "Æ" "Ø" "Å"
在编程中,使用库(data.table)中的setorder会很方便,但是如果我创建了一个需要排序的包含丹麦字母的数据表,setorder会设置错误的顺序。
library(data.table)
DT <- data.table(v1=c("Brød", "Ål", "Øl", "Snegl", "Æble"), v2=1:5)
setorder(DT)
DT
v1 v2
1: Brød 1
2: Snegl 4
3: Ål 2
4: Æble 5
5: Øl 3
有没有一种方法可以自定义setorder?我看了this的问题,但那只适用于你有固定行数的情况下?
使用base::sort会得到这个顺序,不知道是否与我的计算机设置有关,但奇怪的是顺序不同(而且仍然错误):
sort(DT$v1)
[1] "Æble" "Ål" "Brød" "Øl" "Snegl"
欢迎其他软件包提供的建议。