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.
Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!
- Domínio
- SSL Wildcard
- Suporte 24 horas