R如何将字符串视为负数?

时间:2013-11-12 05:50:25

标签: r negative-number

请考虑以下

string_1 = "??????????"
string_2 = " bob"
string_3 = "_bob_"
string_1 < 0
# [1] TRUE
string_2 < 0
# [1] TRUE
string_3 < 0
# [1] TRUE

但是

string_4 = "bob"
string_4 < 0
# [1] FALSE

为什么字符串被R视为负值?是否有任何特定字符将字符串转换为负值?如果是这样,我怎样才能消除被视为否定的字符串向量?

2 个答案:

答案 0 :(得分:1)

这只是一个字母排序顺序。

"b" < 0
### [1] FALSE
"?" < 0
## [1] TRUE

这些与"0"相比如何? 0的字母排序转换为character。类似地:

"hello" > "goodbye"
## [1] TRUE

答案 1 :(得分:-1)

你是否有可能,string_1实际上并不是由问号字符组成,而是由一些不可打印的字符组成,其中第一个字符具有ascii值&lt; 48('0')?

因为我的简短实验表明,R将0提升为“0”,然后进行2字符串的词典比较。

"4aaaa" < 5
# [1] TRUE

"6bbbb" < 5
# [1] FALSE

0不是特别的,因为字符串不是数字。