R - 检查变量是否存在

时间:2016-08-22 11:27:10

标签: r

我以为我已经想出了这个。我有一个名为:

的变量
count_1

它只是一个带有一个元素的向量。当我经历我的循环时,有时它有一个值,而在其他时候它没有。我想要做的就是询问它是否包含任何内容,如果没有,只需循环回来。现在我的脚本失败了,因为当count_1为空时,我得到了这个:

  

缺少需要TRUE / FALSE的值   执行暂停

到目前为止,这是我的尝试:

if (exists("count_1"))
  { 
    #code#
  }

2 个答案:

答案 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