Come sostituire una stringa in una colonna usando dplyr
È possibile utilizzare i seguenti metodi per sostituire una stringa in una colonna specifica di un frame di dati utilizzando le funzioni nel pacchetto dplyr :
Metodo 1: sostituire una stringa con una nuova stringa
library (dplyr) library (stringr) df %>% mutate(across(' column_name ', str_replace, ' old_value ', ' new_value '))
Metodo 2: sostituire più stringhe con una nuova stringa
library (dplyr) library (stringr) df %>% mutate(across(' column_name ', str_replace, ' old_value1|old_value2 ', ' new_value '))
Gli esempi seguenti mostrano come utilizzare ciascun metodo con il seguente frame di dati in R:
#create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West'),
position=c('P_Guard', 'P_Guard', 'S_Guard', 'S_Guard'),
dots=c(22, 25, 29, 13))
#view data frame
df
conf position points
1 East P_Guard 22
2 East P_Guard 25
3 West S_Guard 29
4 West S_Guard 13
Esempio 1: sostituire una stringa con una nuova stringa
Il codice seguente mostra come sostituire la stringa “East” nella colonna conf con la stringa “Eastern”:
library (dplyr) library (stringr) #replace 'East' with 'Eastern' in conf column df %>% mutate(across(' conf ', str_replace, ' East ', ' Eastern ')) conf position points 1 Eastern P_Guard 22 2 Eastern P_Guard 25 3 West S_Guard 29 4 West S_Guard 13
Tieni presente che ogni stringa “East” è stata sostituita con “Eastern” nella colonna conf , mentre tutte le altre colonne sono rimaste invariate.
Esempio 2: sostituire più stringhe con una nuova stringa
Il codice seguente mostra come sostituire le stringhe ‘P_’ e ‘S_’ nella colonna conf con una stringa vuota:
library (dplyr) library (stringr) #replace 'P_' and 'S_' with empty string in position column df %>% mutate(across(' position ', str_replace, ' P_|S_ ', '')) conf position points 1 East Guard 22 2 East Guard 25 3 West Guard 29 4 West Guard 13
Tieni presente che ciascuna stringa ‘P_’ e ‘S_’ è stata sostituita con una stringa vuota nella colonna posizione , mentre tutte le altre colonne sono rimaste invariate.
Nota che abbiamo usato l’operatore “OR” ( | ) per dire a R che vorremmo sostituire tutte le stringhe uguali a “P_” o “S_” con una stringa vuota.
Sentiti libero di utilizzare tutti gli operatori “OR” ( | ) che desideri per sostituire tutti i valori che desideri in una colonna alla volta.
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