R如何比较版本字符串和不等式运算符?

R如何比较版本字符串和不等式运算符?,r,R,有人能用R来解释这种行为吗 > '3.0.1' < '3.0.2' [1] TRUE > '3.0.1' > '3.0.2' [1] FALSE >'3.0.1' '3.0.1' > '3.0.2' [1] 假的 R做比较的过程是什么?在这种情况下,它是进行字典比较,而不是转换为数字,因为调用as.numeric('3.0.1')返回NA 这里的逻辑类似于“字符串'3.0.1'和'3.0.2'在其最终字符之前是等效的,并且在字母数字字母表中,由于1先于2,'3.0.

有人能用R来解释这种行为吗

> '3.0.1' < '3.0.2'
[1] TRUE

> '3.0.1' > '3.0.2'
[1] FALSE
>'3.0.1'<'3.0.2'
[1] 真的
> '3.0.1' > '3.0.2'
[1] 假的

R做比较的过程是什么?

在这种情况下,它是进行字典比较,而不是转换为数字,因为调用
as.numeric('3.0.1')
返回
NA

这里的逻辑类似于“字符串'3.0.1'和'3.0.2'在其最终字符之前是等效的,并且在字母数字字母表中,由于1先于2,'3.0.1'小于'3.0.2'。您可以用一些玩具示例来测试这一点:

'a' < 'b' # TRUE
'ab' < 'ac' # TRUE
'ab0' < 'ab1' # TRUE
'a'<'b'\TRUE
“ab”<“ac”#正确
“ab0”<“ab1”#正确
根据文章中手册中的注释,@rawr在注释中链接,这在不同的地区会变得很复杂,字母数字字母表可能会有不同的排序