请参见以下示例。逻辑运算符<
与chracter和numeric一起使用,并且在某些情况下返回TRUE
。我感到困惑,因为它应该返回NA
或至少返回FALSE
。这是R设计的吗?
如果您向我展示了一种简单的替代方法,我将不胜感激。 (我可以在逻辑判断之前使用自定义函数检查类解决此问题。是否有更好的解决方案?)
"(abc" < 0 # TRUE
"(abc" < -1 # FALSE
"abc" < 9999999999 # FALSE
"abc" < Inf # TRUE
答案 0 :(得分:1)
很可能R正在对您的不等式的RHS进行字符转换。也就是说,R实际上进行了以下比较:
"(abc" < "0"
"(abc" < "-1"
"abc" < "999999999"
"abc" < Inf
[1] TRUE
[1] FALSE
[1] FALSE
[1] TRUE
请注意,输出与您当前的输出一致,后者在RHS上使用数字文字。