Come scrivere una dichiarazione di caso in r (con esempio)
Un’istruzione case è un tipo di istruzione che scorre ciclicamente le condizioni e restituisce un valore quando viene soddisfatta la prima condizione.
Il modo più semplice per implementare un’istruzione case in R è utilizzare la funzione case_when() dal pacchetto dplyr :
library (dplyr) df %>% mutate(new_column = case_when( col1 < 9 ~ ' value1 ', col1 < 12 ~ ' value2 ', col1 < 15 ~ ' value3 ', TRUE ~ ' Great '))
Questa particolare funzione esamina il valore nella colonna chiamata col1 e restituisce:
- ” value1 ” se il valore in col1 è inferiore a 9
- ” value2 ” se il valore in col1 è inferiore a 12
- “ value3 ” se il valore in col2 è inferiore a 15
- “ value4 ” se nessuna delle condizioni precedenti è vera
Tieni presente che TRUE equivale a un’istruzione “else”.
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: dichiarazione del caso in R
Supponiamo di avere il seguente frame di dati in R:
#create data frame df <- data. frame (player=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), points=c(6, 8, 9, 9, 12, 14, 15, 17, 19, 22)) #view data frame df player points 1 1 6 2 2 8 3 3 9 4 4 9 5 5 12 6 6 14 7 7 15 8 8 17 9 9 19 10 10 22
Possiamo utilizzare la seguente sintassi per scrivere un’istruzione case che crea una nuova colonna chiamata class i cui valori sono determinati dai valori nella colonna points :
library (dplyr) #create new column using case statement df %>% mutate(class = case_when( points < 9 ~ ' Bad ', points < 12 ~ ' OK ', points < 15 ~ ' Good ', TRUE ~ ' Great ')) player points class 1 1 6 Bad 2 2 8 Bad 3 3 9 OK 4 4 9 OK 5 5 12 Good 6 6 14 Good 7 7 15 Great 8 8 17 Great 9 9 19 Great 10 10 22 Great
L’istruzione case ha esaminato il valore nella colonna dei punti e ha restituito:
- “ Cattivo ” se il valore nella colonna dei punti era inferiore a 9
- “ OK ” se il valore nella colonna punti era inferiore a 12
- “ Buono ” se il valore nella colonna dei punti era inferiore a 15
- “ Ottimo ” se nessuna delle condizioni precedenti è vera
La nuova colonna si chiama class , poiché è il nome che abbiamo specificato nella funzione mutate() .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come utilizzare l’istruzione If con più condizioni in R
Come scrivere un’istruzione If Else annidata in R
Come scrivere la tua prima funzione tryCatch() in R