Come sostituire più valori in un frame di dati utilizzando dplyr
È possibile utilizzare la seguente sintassi di base per sostituire più valori in un frame di dati in R utilizzando le funzioni nel pacchetto dplyr :
library (dplyr) df %>% mutate(var1 = recode(var1, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '), var2 = recode(var2, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '))
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: sostituisci più valori utilizzando dplyr
Supponiamo di avere il seguente frame di dati in R che contiene informazioni su vari giocatori di basket:
#create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West', 'North'),
position=c('Guard', 'Guard', 'Guard', 'Guard', 'Forward'),
dots=c(22, 25, 29, 13, 18))
#view data frame
df
conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13
5 North Forward 18
Supponiamo ora di voler sostituire nel data frame i seguenti valori:
- colonna ‘conf’:
- Sostituisci “Est” con “E”
- Cambia “Ovest” in “W”
- Sostituisci “Nord” con “N”
- Colonna “Posizione”:
- Cambia “Guardia” in “G”
- Cambia “Avanti” in “F”
Possiamo usare le funzioni mutate() e recode() per fare questo:
library (dplyr) #replace multiple values in conf and position columns df %>% mutate(conf = recode(conf, ' East ' = ' E ', ' West ' = ' W ', ' North ' = ' N '), position = recode(position, ' Guard ' = ' G ', ' Forward ' = ' F ')) conf position points 1EG 22 2 EG 25 3 WG 29 4 WG 13 5 NF 18
Tieni presente che ciascuno dei valori nelle colonne “conf” e “posizione” è stato sostituito con valori specifici.
Da notare inoltre che i valori nella colonna “punti” sono rimasti invariati.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni utilizzando dplyr:
Come ricodificare i valori utilizzando dplyr
Come sostituire NA con Zero in dplyr
Come filtrare le righe contenenti una determinata stringa utilizzando dplyr