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

Aggiungi un commento

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