r - 为什么数字变量和字符变量之间的比较不会给出警告?

标签 r

我的代码中有一个错误,这是由于字符变量和数字变量(它们都应该是数字)之间的无意比较造成的。如果 R 在进行此类比较时有警告,则该错误会更容易找到。例如,为什么这不会引发警告

> 'two' < 5
[1] FALSE

但这确实会发出警告
> as.numeric('two') < 5
[1] NA
Warning message:
NAs introduced by coercion 

我不清楚第一次比较中幕后发生了什么?

最佳答案

在您的示例中 5转换为字符,所以测试与'two' < as.character(5)相同.

来自 ?Comparison :

If the two arguments are atomic vectors of different types, one is coerced to the type of the other, the (decreasing) order of precedence being character, complex, numeric, integer, logical and raw.

关于r - 为什么数字变量和字符变量之间的比较不会给出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19009936/

相关文章:

r - ggplot 0.9.0 中 scale_datetime() 的适当时区参数语法是什么

r - pandoc 如何解析 .md 文件中的 latex 代码?

r - 计算 R 中数据帧的每一行中特定值的连续出现次数

图像中的 r Axis 标签

r - 绘制频率表

r - 在 R markdown 中,如何防止非缓存 block 的绘图被单独保存?

r - 在 R 中,如何将时间戳间隔数据拆分为常规插槽?

r - 避免 ggplot2 部分剪切轴文本

R:为多个不同变化的参数评估函数

python - 将 100 个带标题的 CSV 文件合并为一个文件的最快方法是什么?