任何想法如何按ASCII顺序(如C)对包含非字母数字字符的字符向量进行排序?举例说明:
> v<-c("#1-adfgh3$","-d","!cd3&")
> sort(v)
[1] "-d" "!cd3&" "#1-adfgh3$"
还是“!”应该以ASCII顺序在“ - ”之前出现。
非常感谢。
欢呼声, 约翰
答案 0 :(得分:6)
这是一个想法:
asciiSort <- function(vec) {
x <- sapply(vec,
function(X) {
paste0(strtoi(charToRaw(X), base=16), collapse="")
})
vec[order(x)]
}
asciiSort(v)
# [1] "!cd3&" "#1-adfgh3$" "-d"