我只是想知道在应用逻辑运算符时R如何评估不同的字符。像
"a" > "b"
"b" > "c"
"a+b" > "b+a"
"-" > "+"
"&" > "%"
我只是想知道R如何按升序或降序排列不同的符号和字符?我之前的信念是" NA"对于上面定义的每个操作。但是对于每种情况,R都返回TRUE或FALSE。
答案 0 :(得分:2)
请参阅比较?Comparison
引用关键段落:
字符向量中字符串的比较是使用正在使用的语言环境的整理顺序在字符串中进行词典编写:请参阅locales。诸如en_US的语言环境的整理顺序通常不同于C(应该使用ASCII)并且可能令人惊讶。谨防对整理顺序做出任何假设:例如在爱沙尼亚语Z中,在S和T之间,并且整理不一定是逐个字符的 - 在丹麦语中作为单个字母排序,在z之后。在威尔士语中,可能是也可能不是单个排序单元:如果是,则遵循g。某些平台可能不遵守语言环境,并且始终按照8位语言环境中的字节数字顺序排序,或者按UTF-8语言环境的Unicode代码点顺序排序(并且可能不会按相同的顺序排序相同的语言)不同的字符集)。非字母(空格,标点符号,连字符,分数等)的整理更成问题。
答案 1 :(得分:1)
您可以通过明确请求char或字符串值列表的顺序来解决这个难题......
items <- c('+','-','a','z', 'A', 'a+b', 'a+x', '*', '/')
items[order(items)]
答案 2 :(得分:1)
使用sort
即可获得订单。
sort(c(letters, LETTERS, 0:9, "+", "\"", "¦", "@", "*", "#", "ç", "%", "&", "¬", "|",
"(", "¢", ")", "=", "?", "'", "´", "`", "^", "~", "!", "[", "]", "$", "£", "{", "}",
".", ",", "-", "_", "<", ">", "/"))