Como substituir uma string em uma coluna usando dplyr


Você pode usar os seguintes métodos para substituir uma string em uma coluna específica de um quadro de dados usando funções do pacote dplyr :

Método 1: Substitua uma string por uma nova string

 library (dplyr)
library (stringr) 

df %>% 
  mutate(across(' column_name ', str_replace, ' old_value ', ' new_value '))

Método 2: Substitua várias strings por uma nova string

 library (dplyr)
library (stringr) 

df %>% 
  mutate(across(' column_name ', str_replace, ' old_value1|old_value2 ', ' new_value '))

Os exemplos a seguir mostram como usar cada método com o seguinte quadro de dados em 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

Exemplo 1: Substitua uma string por uma nova string

O código a seguir mostra como substituir a string “East” na coluna conf pela string “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

Observe que cada string “Leste” foi substituída por “Leste” na coluna conf , enquanto todas as outras colunas permaneceram inalteradas.

Exemplo 2: Substitua várias strings por uma nova string

O código a seguir mostra como substituir as strings ‘P_’ e ‘S_’ na coluna conf por uma string vazia:

 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

Observe que cada string ‘P_’ e ‘S_’ foi substituída por uma string vazia na coluna de posição , enquanto todas as outras colunas permaneceram inalteradas.

Observe que usamos o operador “OR” ( | ) para dizer ao R que gostaríamos de substituir todas as strings iguais a “P_” ou “S_” por uma string vazia.

Sinta-se à vontade para usar quantos operadores “OR” ( | ) desejar para substituir quantos valores desejar em uma coluna por vez.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns usando dplyr:

Como recodificar valores usando dplyr
Como substituir NA por Zero no dplyr
Como filtrar linhas contendo uma determinada string usando dplyr

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *