O que são e como usar R gsub() e R sub()?
As funções R gsub() e R sub() são usadas na manipulação de textos. Elas são fáceis de usar e podem ser combinadas com outras funções. Você pode integrá-las perfeitamente em análises de dados e em cálculos estatísticos, por exemplo.
O que fazem as funções R gsub() e R sub()?
As funções R gsub() e R sub() substituem padrões em strings. A função sub(), abreviação de “substitute”, localiza a primeira ocorrência de um padrão em uma string e a substitui por outra expressão. Tal função só faz substituições simples. Já gsub() é a abreviação de “global substitute” e é capaz de localizar todas as ocorrências de um padrão em uma string e substituí-las por outra expressão.
As duas funções têm amplas possibilidades de aplicação em tarefas de limpeza e transformação de dados. Sua principal finalidade é excluir padrões indesejados e adaptar textos. Elas são especialmente importantes na manipulação de textos de análises estatísticas e aplicações de aprendizado de máquina (machine learning) na linguagem R. Por exemplo, o usuário pode usar essas funções para extrair determinados padrões ou transformar dados no formato necessário para a realização de uma análise.
Sintaxe de R gsub() e R sub()
As sintaxes das funções R gsub() e R sub() são muito parecidas. Os dois métodos usam os seguintes parâmetros:
- padrão: O padrão que você procura na forma de uma string ou expressão regular
- substituto: A expressão que substituirá o padrão
- x: O vetor ou data frame em que a busca e a substituição serão realizadas
Estrutura de R gsub()
gsub(padrão, substituto, x)REstrutura de R sub()
sub(padrão, substituto, x)RExemplos de uso da função R gsub()
A característica que diferencia a função R gsub() é a capacidade que ela tem de localizar e substituir todas as ocorrências de um padrão.
Excluir espaços
Você pode usar a função R gsub() para remover espaços de sobra em strings.
frase <- " A ciência de dados é poderosa. "
frase_limpa <- gsub("\\s+", " ", frase)
cat(frase_limpa)RO resultado é:
"A ciência de dados é poderosa."RA expressão regular \\s+ corresponde a um ou mais espaços consecutivos. Ao usá-la no exemplo acima, conseguimos remover o excesso de espaços da frase original.
Substituir números de telefone
A função R gsub() também é útil para anonimizar ou excluir dados privados, como números de telefone, por exemplo.
texto <- "Entre em contato pelo telefone 123-456-7890 para mais informações."
texto_modificado <- gsub("\\d{3}-\\d{3}-\\d{4}", "número de telefone ocultado", texto)
cat(texto_modificado)REste é o resultado:
"Entre em contato pelo telefone número de telefone ocultado para mais informações."RNo exemplo acima, extraímos o número de telefone com a expressão regular \\d{3}-\\d{3}-\\d{4}. Depois, o substituímos pela string "número de telefone ocultado".
Exemplos de uso da função R sub()
Se você quiser substituir apenas a primeira ocorrência de um padrão, pode usar a função R sub().
Substituir a primeira ocorrência de uma palavra
Imagine que uma string tenha uma palavra repetida e você queira substituir a primeira ocorrência dessa palavra.
texto <- "A ciência de dados é poderosa. A análise de dados é divertida."
resultado_sub <- sub("dados", "redes", texto)
cat(resultado_sub)RO resultado seria:
"A ciência de redes é poderosa. A análise de dados é divertida."RA função R sub() procura pela string "dados" no texto e substitui a primeira ocorrência encontrada por "redes".
Substituir números
Também é possível substituir números com a função R sub(). Veja:
texto_numerico <- "O custo é de US$ 100. Pague até 01/02/2024."
resultado <- sub("\\d+", "200", texto_numerico)
cat(resultado)RResultado:
"O custo é de US$ 200. Pague até 01/02/2024."RA expressão regular \\d+ corresponde a um ou mais dígitos. A função R sub(), como pode ser observado, substitui apenas o primeiro grupo de dígitos no texto.
Explore outros artigos do nosso Digital Guide para conhecer outras importantes funções em R, como R substring e R rbind.
- Fique online com 99,99% de tempo de atividade e segurança robusta
- Aumente o desempenho com um clique à medida que o tráfego cresce
- Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana

