Dplyr: come modificare i livelli dei fattori utilizzando mutate()
Puoi utilizzare la seguente sintassi di base in dplyr per modificare i livelli di una variabile fattore utilizzando la funzione mutate() :
library (dplyr) df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks ', ' M ' = ' Mavs ', ' C ' = ' Cavs '))
Questa particolare sintassi apporta le seguenti modifiche alla variabile team nel data frame:
- ‘H’ diventa ‘Falchi’
- ‘M’ diventa ‘Mavs’
- ‘C’ diventa ‘Cavs’
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: modificare i livelli dei fattori utilizzando mutate()
Supponiamo di avere il seguente frame di dati in R che contiene informazioni su vari giocatori di basket:
#create data frame df <- data. frame (team=factor(c('H', 'H', 'M', 'M', 'C', 'C')), dots=c(22, 35, 19, 15, 29, 23)) #view data frame df team points 1:22 a.m. 2:35 a.m. 3 M 19 4 M 15 5 C 29 6 C 23
Possiamo usare la seguente sintassi con la funzione mutate() del pacchetto dplyr per cambiare i livelli della variabile team :
library (dplyr) #change factor levels of team variable df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks ', ' M ' = ' Mavs ', ' C ' = ' Cavs ')) #view updated data frame df team points 1 Hawks 22 2 Hawks 35 3 Mavs 19 4 Mavs 15 5 Cavs 29 6 Cavs 23
Utilizzando questa sintassi, siamo stati in grado di apportare le seguenti modifiche alla variabile team nel frame di dati:
- ‘H’ diventa ‘Falchi’
- ‘M’ diventa ‘Mavs’
- ‘C’ diventa ‘Cavs’
Possiamo verificare che i livelli dei fattori siano stati modificati utilizzando la funzione livelli () :
#display factor levels of team variable
levels(df$team)
[1] “Cavs” “Hawks” “Mavs”
Tieni inoltre presente che puoi scegliere di modificare solo un livello di fattore anziché tutti.
Ad esempio, possiamo utilizzare la seguente sintassi per sostituire solo “H” con “Hawks” e lasciare invariati gli altri livelli di fattore:
library (dplyr) #change one factor level of team variable df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks ')) #view updated data frame df team points 1 Hawks 22 2 Hawks 35 3 M 19 4 M 15 5 C 29 6 C 23
Si noti che “H” è stato sostituito da “Hawks”, ma gli altri due livelli di fattore sono rimasti invariati.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in dplyr:
Come eliminare righe utilizzando dplyr
Come selezionare le colonne per indice utilizzando dplyr
Come filtrare le righe contenenti una determinata stringa utilizzando dplyr