R Se ... Altro


Condizioni e dichiarazioni If

R supporta le solite condizioni logiche dalla matematica:

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

Queste condizioni possono essere utilizzate in diversi modi, più comunemente in "istruzioni if" e cicli.

Un'istruzione "if" viene scritta con la ifparola chiave e viene utilizzata per specificare un blocco di codice da eseguire se una condizione è TRUE:

Esempio

a <- 33
b <- 200

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

In questo esempio utilizziamo due variabili, aeb , che vengono utilizzate come parte dell'istruzione if per verificare se b è maggiore di a . Poiché a è 33 e b è 200 , sappiamo che 200 è maggiore di 33, quindi stampiamo sullo schermo che "b è maggiore di a".

R usa le parentesi graffe { } per definire l'ambito nel codice.


Altrimenti se

La else ifparola chiave è il modo in cui R dice "se le condizioni precedenti non erano vere, prova questa condizione":

Esempio

a <- 33
b <- 33

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

In questo esempio aè uguale a b, quindi la prima condizione non è vera, ma la else ifcondizione è vera, quindi stampiamo sullo schermo che "a e b sono uguali".

Puoi usare tutte le else ifaffermazioni che vuoi in R.


Se altro

La elseparola chiave cattura tutto ciò che non è catturato dalle condizioni precedenti:

Esempio

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

In questo esempio, a è maggiore di b , quindi la prima condizione non è vera, anche la condizione else if non è vera, quindi andiamo alla condizione else e stampiamo sullo schermo che "a è maggiore di b".

Puoi anche usare elsesenza else if:

Esempio

a <- 200
b <- 33

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


Dichiarazioni If nidificate

Puoi anche avere ifistruzioni all'interno ifdi istruzioni, questo è chiamato istruzioni nidificate if .

Esempio

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

E

Il simbolo & (e) è un operatore logico e viene utilizzato per combinare istruzioni condizionali:

Esempio

Verifica se a è maggiore di b, E se c è maggiore di a:

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

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

O

Il |simbolo (o) è un operatore logico e viene utilizzato per combinare istruzioni condizionali:

Esempio

Verifica se a è maggiore di b o se c è maggiore di a:

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

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