似乎as.character()
数字仍然是数字,我发现这很直观。考虑以下示例:
1 > "2"
[1] FALSE
2 > "1"
[1] TRUE
即使我尝试使用as.character()
或paste()
as.character(2)
[1] "2"
as.character(2) > 1
[1] TRUE
as.character(2) < 1
[1] FALSE
这是为什么?在将数字与字符串进行比较时,R是否不能返回错误?
?Comparison
状态文档
如果两个参数是不同类型的原子向量,则一个被强制转换为另一个类型,优先级的(降序)顺序为字符,复杂,数字,整数,逻辑和原始。
因此,在您的情况下,数字将自动强制为字符串,并且将根据各自的排序规则进行比较。
为了防止这种情况,我知道的唯一选择是手动比较第class
一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句