我正在 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/