Р Если... Иначе


Условия и операторы if

R поддерживает обычные логические условия из математики:

Operator Name Example Try it
== Equal x == y
!= Not equal x != y
> Greater than x > y
< Less than x < y
>= Greater than or equal to x >= y
<= Less than or equal to x <= y

Эти условия можно использовать несколькими способами, чаще всего в операторах if и циклах.

«Утверждение if» записывается с ifключевым словом и используется для указания блока кода, который будет выполняться, если условие TRUE:

Пример

a <- 33
b <- 200

if (b > a) {
  print("b is greater than a")
}

В этом примере мы используем две переменные, a и b , которые используются как часть оператора if, чтобы проверить, больше ли b , чем a . Поскольку a равно 33 , а b равно 200 , мы знаем, что 200 больше 33, поэтому мы выводим на экран, что «b больше а».

R использует фигурные скобки { } для определения области действия в коде.


иначе если

Ключевое else ifслово — это способ R сказать «если предыдущие условия неверны, попробуйте это условие»:

Пример

a <- 33
b <- 33

if (b > a) {
  print("b is greater than a")
} else if (a == b) {
  print ("a and b are equal")
}

В этом примере aравно b, поэтому первое условие неверно, но else ifусловие истинно, поэтому мы выводим на экран, что «a и b равны».

Вы можете использовать столько else ifоператоров, сколько хотите в R.


Если еще

Ключевое elseслово улавливает все, что не улавливается предыдущими условиями:

Пример

a <- 200
b <- 33

if (b > a) {
  print("b is greater than a")
} else if (a == b) {
  print("a and b are equal")
} else {
  print("a is greater than b")
}

В этом примере a больше, чем b , поэтому первое условие неверно, а также условие else if неверно, поэтому мы переходим к условию else и выводим на экран, что «a больше, чем b».

Вы также можете использовать elseбез else if:

Пример

a <- 200
b <- 33

if (b > a) {
  print("b is greater than a")
} else {
  print("b is not greater than a")
}


Вложенные операторы if

Вы также можете иметь ifоператоры внутри ifоператоров, это называется вложенными if операторами.

Пример

x <- 41

if (x > 10) {
  print("Above ten")
  if (x > 20) {
    print("and also above 20!")
  } else {
    print("but not above 20.")
  }
} else {
  print("below 10.")
}

И

Символ & (и) является логическим оператором и используется для объединения условных операторов:

Пример

Проверьте, больше ли a, чем b, И если c больше, чем a:

a <- 200
b <- 33
c <- 500

if (a > b & c > a){
  print("Both conditions are true")
}

ИЛИ

Символ |(или) является логическим оператором и используется для объединения условных операторов:

Пример

Проверьте, больше ли a, чем b, или если c больше, чем a:

a <- 200
b <- 33
c <- 500

if (a > b | a > c){
  print("At least one of the conditions is true")
}