R Pokud... Jinak


Podmínky a prohlášení If

R podporuje obvyklé logické podmínky z matematiky:

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

Tyto podmínky lze použít několika způsoby, nejčastěji v příkazech „if“ a cyklech.

Příkaz "if" se zapisuje s ifklíčovým slovem a používá se k určení bloku kódu, který se má provést, pokud je podmínka TRUE:

Příklad

a <- 33
b <- 200

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

V tomto příkladu používáme dvě proměnné, a a b , které se používají jako součást příkazu if k testování, zda je b větší než a . Protože a je 33 a b je 200 , víme, že 200 je větší než 33, a tak vytiskneme na obrazovku, že "b je větší než a".

R používá složené závorky { } k definování rozsahu v kódu.


Jinak Pokud

Klíčové else ifslovo je způsob, jakým R říká „pokud předchozí podmínky nebyly pravdivé, zkuste tuto podmínku“:

Příklad

a <- 33
b <- 33

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

V tomto příkladu aje rovno b, takže první podmínka není pravdivá, ale else ifpodmínka je pravdivá, takže vytiskneme na obrazovku, že "a a b jsou stejné".

V R můžete použít tolik else ifpříkazů, kolik chcete.


Pokud Else

Klíčové elseslovo zachytí vše, co není zachyceno předchozími podmínkami:

Příklad

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

V tomto příkladu je a větší než b , takže první podmínka není pravdivá, ani podmínka else if neplatí, takže přejdeme na podmínku else a vytiskneme na obrazovku, že "a je větší než b".

Můžete také použít elsebez else if:

Příklad

a <- 200
b <- 33

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


Vnořené příkazy If

Příkazy můžete mít také ifuvnitř ifpříkazů, tomu se říká vnořené if příkazy.

Příklad

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

Symbol & (a) je logický operátor a používá se ke kombinaci podmíněných příkazů:

Příklad

Otestujte, zda je a větší než b, A zda je c větší než a:

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

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

NEBO

Symbol |(nebo) je logický operátor a používá se ke kombinaci podmíněných příkazů:

Příklad

Otestujte, zda a je větší než b, nebo zda c je větší než a:

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

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