Come scrivere un'istruzione nested if else in r (con esempi)
La funzione ifelse() in base R può essere utilizzata per scrivere istruzioni if-else rapide. Questa funzione utilizza la seguente sintassi:
ifelse(prova, sì, no)
Oro:
- test: un test logico
- sì: il valore da restituire se il test logico è Vero
- no: il valore da restituire se il test logico è False
Questo tutorial spiega come utilizzare questa funzione per scrivere istruzioni if else e istruzioni if else nidificate in R, utilizzando il seguente frame di dati:
#create data frame df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'), points = c(4, 7, 8, 8, 8, 9, 12), rebounds = c(3, 3, 4, 4, 6, 7, 7)) #view data frame df team points rebounds 1 to 4 3 2 to 7 3 3 B 8 4 4 B 8 4 5 B 8 6 6 C 9 7 7 D 12 7
Esempio 1: come scrivere un’istruzione di base If Else
Il codice seguente mostra come creare una nuova colonna nel data frame il cui valore è basato sul valore della colonna “team”:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ' bad ') #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 bad 4 B 8 4 bad 5 B 8 6 bad 6 C 9 7 bad 7 D 12 7 bad
Questa semplice istruzione ifelse dice a R di fare quanto segue:
- Se il valore nella colonna della squadra è “A”, assegna al giocatore una valutazione “eccellente”.
- Altrimenti mancherà il giocatore “povero”.
Esempio 2: come scrivere un’istruzione If Else annidata
Il codice seguente mostra come creare una nuova colonna nel frame di dati scrivendo un’istruzione if else nidificata:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ' bad ')) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 bad 7 D 12 7 bad
Questa istruzione ifelse nidificata dice a R di fare quanto segue:
- Se il valore nella colonna della squadra è “A”, assegna al giocatore una valutazione “eccellente”.
- Altrimenti, se il valore nella colonna della squadra è “B”, assegna al giocatore una valutazione di “OK”.
- Altrimenti mancherà il giocatore “povero”.
Esempio 3: come scrivere istruzioni If Else nidificate più lunghe
Il codice seguente mostra come creare una nuova colonna nel frame di dati scrivendo un’istruzione if else nidificata ancora più lunga:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ifelse (df$team == ' C ', ' decent ', ' bad '))) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 decent 7 D 12 7 bad
Questa istruzione ifelse nidificata dice a R di fare quanto segue:
- Se il valore nella colonna della squadra è “A”, assegna al giocatore una valutazione “eccellente”.
- Altrimenti, se il valore nella colonna della squadra è “B”, assegna al giocatore una valutazione di “OK”.
- Altrimenti, se il valore nella colonna della squadra è “C”, assegna al giocatore una valutazione “Decente”.
- Altrimenti mancherà il giocatore “povero”.
Tieni presente che puoi utilizzare questo modello esatto per scrivere istruzioni ifelse nidificate per tutto il tempo che desideri.
Puoi trovare altri tutorial su R qui .