我以为我已经想出了这个。我有一个名为:
的变量count_1
它只是一个带有一个元素的向量。当我经历我的循环时,有时它有一个值,而在其他时候它没有。我想要做的就是询问它是否包含任何内容,如果没有,只需循环回来。现在我的脚本失败了,因为当count_1为空时,我得到了这个:
缺少需要TRUE / FALSE的值 执行暂停
到目前为止,这是我的尝试:
if (exists("count_1"))
{
#code#
}
答案 0 :(得分:1)
使用Activity
检查if(length(count_1) == 1) { next }
中是否有值。
但是,这只有在您的代码执行以下操作时才会起作用:
count_1
它不适用于填充变量的另一种方式,例如:
dat <- 1:5
count_1 <- which(dat > 10)
count_1
# integer(0)
length(count_1) == 1
# [1] FALSE
答案 1 :(得分:1)
由于其他原因,我需要检查函数内是否存在变量。我用这个:
check=function(x) tryCatch(if(class(x) == 'logical') 1 else 1, error=function(e) 0)
varX=1
check(varX)
[1] 1
rm(varX)
check(varX)
[1] 0
f1= function(x) if(check(x)) cat('exists') else cat('not exists')
f1(varX)
not exists