r - 如何在大于测试中使用 numeric(0)?

标签 r if-statement for-loop numeric

我正在 for 循环中运行大于测试(见下文):

if(x > y){...}

但在某一时刻 y 将变为数字(0),而 x 仍将是数字。所以我需要知道是否有办法仍然测试数字是否大于数字(0)。这是我执行此操作时收到的错误消息:

Error in if (x > y) { : 
  argument is of length zero

在这种情况下,有没有办法测试它,甚至有办法用纯 0 代替 numeric(0) ?

谢谢

最佳答案

当您将数字与空值进行比较时会发生什么?条件 x > y 的计算结果应该是 TRUE 还是 FALSE,还是应该有不同的效果?处理这种情况的一种方法是这样的:

if (length(y) == 0) {
    cat("y is numeric(0)")
} else {
    if (x > y) {
        cat("x is greater than y")
    } else {
        cat("x is less than or equal y")
    }
}

关于r - 如何在大于测试中使用 numeric(0)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22843868/

相关文章:

正则表达式从字符串中提取县名

r - 确定泛型函数调用哪个函数

r - 更改剪切函数中的标签符号样式?

java - 获取两个变量的百分比

java - 仅基于对象的不同参数之一向 if 语句添加条件

java - 在 if else 中初始化变量但不起作用,如何正确初始化它们?

php - 如何用 PHP 打破外循环?

将函数应用于数据帧变量的子部分并将其保存到原始数据帧的 R 代码

python - for 循环如何在元组中工作

c++循环在每次迭代时变慢