如果环境中存在价值

时间:2019-07-02 09:01:54

标签: r if-statement dplyr

有没有一种方法可以检查R环境中是否存在值,如果== TRUE,则分配此现有值,否则分配其他值?

换句话说,我的R中现在没有任何东西,并且创建了if if语句。

test <- if_else(exists("my_value"), my_value, "my value missing, assigning this string")

的结果

 exists("my_value")

是:

exists("my_value")
[1] FALSE

但是一旦我运行了整个代码,我就会得到这个

  

if_else(exists(“ my_value”),my_value,“缺少我的值,分配了此字符串”)中的错误:         找不到对象“ my_value”

1 个答案:

答案 0 :(得分:3)

if(){} else {} 更适合这种情况:

if(exists("my_value")){ 
  test <- my_value } else { 
    test <- "my value missing, assigning this string"}

使用dplyr::if_else(condition, true, false, missing = NULL)无效,因为它正在检查 true false 的值具有相同的长度,类,类型,因此错误

我想如果我们设法以某种方式为同一类的true和false赋值,就可以用if_else完成。