R Jeśli... Inaczej


Warunki i Oświadczenia JEŚLI

R obsługuje zwykłe warunki logiczne z matematyki:

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

Warunków tych można używać na kilka sposobów, najczęściej w instrukcjach „if” i pętlach.

Instrukcja „if” jest zapisywana ze ifsłowem kluczowym i jest używana do określenia bloku kodu, który ma zostać wykonany, jeśli warunek jest następujący TRUE:

Przykład

a <- 33
b <- 200

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

W tym przykładzie używamy dwóch zmiennych, a i b , które są używane jako część instrukcji if do sprawdzenia, czy b jest większe niż a . Ponieważ a wynosi 33 , a b wynosi 200 , wiemy, że 200 jest większe niż 33, więc wypisujemy na ekranie, że „b jest większe niż a”.

R używa nawiasów klamrowych { } do zdefiniowania zakresu w kodzie.


Inaczej, jeśli

Słowo else ifkluczowe to sposób, w jaki R mówi „jeśli poprzednie warunki nie były spełnione, wypróbuj ten warunek”:

Przykład

a <- 33
b <- 33

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

W tym przykładzie ajest równe b, więc pierwszy warunek nie jest prawdziwy, ale else ifwarunek jest prawdziwy, więc wyświetlamy na ekranie, że "a i b są równe".

Możesz użyć tylu else ifstwierdzeń, ile chcesz w R.


Jeśli inaczej

Słowo elsekluczowe przechwytuje wszystko, co nie jest złapane przez powyższe warunki:

Przykład

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")
}

W tym przykładzie a jest większe niż b , więc pierwszy warunek nie jest spełniony, również warunek else if nie jest spełniony, więc przechodzimy do warunku else i wyświetlamy na ekranie, że „a jest większe niż b”.

Możesz również użyć elsebez else if:

Przykład

a <- 200
b <- 33

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


Zagnieżdżone instrukcje if

Możesz także mieć ifinstrukcje wewnątrz ifinstrukcji, nazywane są to instrukcjami zagnieżdżonymi if .

Przykład

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.")
}

ORAZ

Symbol & (i) jest operatorem logicznym i służy do łączenia instrukcji warunkowych:

Przykład

Sprawdź, czy a jest większe od b ORAZ czy c jest większe od a:

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

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

LUB

Symbol |(lub) jest operatorem logicznym i służy do łączenia instrukcji warunkowych:

Przykład

Sprawdź, czy a jest większe niż b lub czy c jest większe niż a:

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

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