【发布时间】:2016-12-28 22:26:28
【问题描述】:
我以为我已经解决了这个问题。我有一个变量叫做:
count_1
它只是一个包含一个元素的向量。当我遍历我的循环时,有时它有一个价值,而在其他时候它没有。我想要做的就是询问它是否包含任何内容,如果没有,只需循环回来。现在我的脚本失败了,因为当 count_1 为空时,我得到了这个:
需要 TRUE/FALSE 的地方缺少值 执行停止
这是我目前的尝试:
if (exists("count_1"))
{
#code#
}
【问题讨论】:
-
@RonakShah 嗯,如果没有
count_1,我认为这将失败。if (exists("count_1") && !is.na(count_1))或两个嵌套的ifs。 -
实际上您提到的上述代码应该可以工作,除非它的
na。如果在循环中只使用else { next }我猜应该可以。事实上,我尝试了类似的方法并且它有效 -a <- 5 rm(b) if(a%%2 == 0 ) { b <- 1 } if(exists("b")) { print('hi') }else { print('bye') } -
@zx8754 我相信他们的
#code#包含一些带有逻辑比较或类似内容的子集。 -
@zx8754 是的,他们正试图通过
if条件来避免它。 -
永远不要使用
exists作为通用代码。这是一个支持基础架构编程的函数,它根本不应该出现在普通分析(或一般用户级)代码中:如果您编写代码,您应该知道变量是否存在。在代码中提出问题肯定表明代码中存在逻辑错误。
标签: r