A: come utilizzare l'istruzione if con più condizioni


È possibile utilizzare i seguenti metodi per creare una nuova colonna in R utilizzando un’istruzione IF con più condizioni:

Metodo 1: istruzione Se con più condizioni utilizzando OR

 df$new_var <- ifelse(df$var1>15 | df$var2>8, " value1 ", " value2 ")

Metodo 2: istruzione If con più condizioni utilizzando AND

 df$new_var <- ifelse(df$var1>15 & df$var2>8, “ value1 ”, “ value2 ”) 

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(8, 8, 10, 13, 17, 19, 22, 25),
                 assists=c(5, 10, 9, 6, 8, 10, 11, 12))

#view data frame
df

  team points assists
1 to 8 5
2 to 8 10
3 to 10 9
4 to 13 6
5 B 17 8
6 B 19 10
7 B 22 11
8 B 25 12

Esempio 1: istruzione If con più condizioni che utilizzano OR

Il codice seguente mostra come creare una nuova colonna denominata rating che assegna un valore “buono” se la colonna dei punti è maggiore di 15 o la colonna degli assist è maggiore di 8.

Altrimenti assegna il valore “cattivo”:

 #create new "rating" column using if statement with multiple conditions
df$rating <- ifelse(df$points>15 | df$assists>8, " good ", " bad ")

#view updated data frame
df

  team points assists rating
1 A 8 5 bad
2 to 8 10 good
3 A 10 9 good
4 A 13 6 bad
5 B 17 8 good
6 B 19 10 good
7 B 22 11 good
8 B 25 12 good

Ogni giocatore riceve un valore “buono” o “cattivo” nella colonna di valutazione appena creata.

Si noti che | L’operatore è utilizzato come istruzione “o” in R.

Esempio 2: istruzione If con più condizioni che utilizzano AND

Il codice seguente mostra come creare una nuova colonna denominata rating che assegna un valore “buono” se la colonna dei punti è maggiore di 15 e la colonna degli assist è maggiore di 8.

Altrimenti assegna il valore “cattivo”:

 #create new "rating" column using if statement with multiple conditions
df$rating <- ifelse(df$points>15 & df$assists>8, “ good ”, “ bad ”)

#view updated data frame
df

  team points assists rating
1 A 8 5 bad
2 A 8 10 bad
3 A 10 9 bad
4 A 13 6 bad
5 B 17 8 bad
6 B 19 10 good
7 B 22 11 good
8 B 25 12 good

Ogni giocatore riceve un valore “buono” o “cattivo” nella colonna di valutazione appena creata.

Si noti che l’operatore & è utilizzato come istruzione “e” in R.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:

Come scrivere un’istruzione If Else annidata in R
Come scrivere un ciclo For nidificato in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *