Если значение существует в окружающей среде - PullRequest
1 голос
/ 02 июля 2019

Есть ли способ, как проверить, существует ли значение в среде R и если == TRUE, назначить это существующее значение, иначе назначить что-то еще?

Другими словами, у меня сейчас нет ничего в моем R, и я создал это выражение if else.

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

Результат

 exists("my_value")

есть:

exists("my_value")
[1] FALSE

Но как только я запускаю весь код, я получаю это

Ошибка в if_else (существует («my_value»), my_value, «отсутствует мое значение, присваивается эта строка»): объект 'my_value' не найден

1 Ответ

3 голосов
/ 02 июля 2019

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 имеют одинаковую длину, класс, тип, отсюда и ошибку.

Я предполагаю, что это можно сделать с помощью if_else, если нам удастсязначения для true и false одного и того же класса как-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...