如何在双字母之前对单个字母进行排序

cre*_*w4u 1 sorting r vector alphabetical dataframe

我需要能够从 AZ 和 AA-ZZ 订购我的数据输出。问题是,我只能让 R 按字母顺序排序,所以 AA 排在 B 和 C 之前。

有没有一种方法可以先将我的数据作为单字母排序,然后按字母顺序将双字母(a、b、c、aa、bb、cc)排序?

mar*_*kus 5

给定的

set.seed(1)
x <- sample(c("a", "b", "c", "aa", "bb", "cc"))
x
# [1] "b"  "cc" "c"  "aa" "a"  "bb"
Run Code Online (Sandbox Code Playgroud)

你可以做

x[order(nchar(x), x)]
# [1] "a"  "b"  "c"  "aa" "bb" "cc"
Run Code Online (Sandbox Code Playgroud)