Насколько я понимаю, операторы if
и else
параллельны условной логике. Существует ли выражение R (или функция), которое отражает только если операторы?
Например, следующий скрипт выведет Yoda
, так как условие выполнено:
x <- "force"
if(x == "force"){ print("Yoda") }
[1] "Yoda"
Принимая во внимание, что это не будет:
if(x != "force"){ print("Yoda") }
Итак, если R печатает Yoda
, то мы знаем, что x
- это force
. Однако R мог бы печатать Yoda
и по другим причинам. Возможно, я мог забыть об утверждении в моем окружении под названием:
if(y == "Jedi_Learning"){ print("Yoda") }
Тогда мы ожидаем, что R напечатает Yoda
всякий раз, когда y
'Jedi_Learning
вызывается в скрипте. В этом случае Yoda
может появиться, когда либо Jedi_Learning
, либо force
вызовет на стадию R.
Тем не менее, мой вопрос: есть ли логическое выражение, которое работает так? (здесь абсолютно гипотетически):
onlyif(z == "Star_Wars" ){ print("Yoda") }
Вышеприведенное выражение подавляет все остальные утверждения, которые вызывают Yoda
. Yoda
появится, только если есть Star_Wars
в z
.