8. Transformando e limpando textos
Para construir a sua rotina automatizada de análises de dados, o
profissional de vigilância deverá aprender como trabalhar com textos
dentro do R. Já vimos que a linguagem de programação R
é
uma poderosa ferramenta para a preparação e a limpeza de dados. Em
programação, informações de texto são denominadas strings
(termo em inglês para “cadeia de caracteres”). Uma string não é
nada mais do que uma sequência de caracteres que podem ser utilizados
como informação em um programa. Conforme vimos no módulo anterior,
strings de texto no R
são representados por um
conjunto de caracteres entre duas aspas.
8.1 Contando caracteres e extraindo textos
O profissional de vigilância em saúde precisará seguir com a sua
análise sobre os agravos de notificação. Para isso iremos continuar a
explorar a tabela de classificação de agravos CID-10
{CID-10-CATEGORIAS.CSV
} exportada do Datasus. Lembramos que
esse banco de dados está disponível no menu lateral “Arquivos” no
Ambiente Virtual do módulo.
Considere corrigir os textos digitados errados. Isto ocorre muito em campos abertos de formulários na área da saúde onde cada profissional escreve da maneira que deseja as palavras, deixando a coluna de difícil interpretação.
Por exemplo, você já deve ter se deparado com alguma variável
NOME
, contendo caracteres de nome com texto escrito de
diferentes modos: “Fernanda Lima”, “Fernnda Lima”,
Fenanda Lima ou “Fernanda Llima”. Para estes
casos, o R
possui um pacote chamado stringr
do
tidyverse
com funções para a manipulação de texto ou
strings de uma forma mais simples e intuitiva, e nos apoiará na
correção deste tipo de problema.

Atenção
Para seguir com todas as análises no R
, os pacotes devem
estar instalados e carregados. Já fizemos esta etapa no início do
Módulo. Caso tenha reiniciado seus estudos, vá até o começo deste módulo
para instalar e carregar novamente os pacotes que utilizados nesta
sessão.
Vamos lá! Acompanhe todos os scripts abaixo e replique-os em
seu RStudio
.
Primeiramente, importaremos a base de dados para o R
utilizando a função read_csv2()
.
# Importando o banco de dados { `CID-10-CATEGORIAS.CSV` } para o `R`
CID10 <- read_csv2("Dados/CID-10-CATEGORIAS.CSV",
locale = locale(encoding = "latin1"))
Em seguida, iremos selecionar as 15 primeiras linhas com valores
utilizando a função slice()
e realizar uma transformação
para um conjunto simples de texto, utilizando a função
pull()
.
# Criando um novo objeto com as seleções feitas
nomes_cid <- CID10 |>
# Selecionar apenas as linhas de interesse (linhas 1 a 15)
slice(n = 1:15) |>
# Selecionando apenas a variável "DESCRICAO" e transformando em `character`
# simples
pull(DESCRICAO)
Com este exemplo, percorreremos nesta subsessão alguns dos tratamentos mais utilizados com textos.
Perceba que ao executarmos os comandos acima, retornamos na tela do
RStudio
(output) dentro do objeto
nomes_cid
as 15 primeiras linhas da coluna
DESCRICAO.
Agora utilizaremos esse objeto para obter
algumas informações sobre as variáveis de forma a padronizá-las para
nossa análise. Esta etapa é crucial para tornar nossa avaliação mais
assertiva!
Agora, considere que necessitamos saber quantos caracteres existem em
cada linha. No R
utilizaremos a função
str_length()
para esta avaliação. O primeiro argumento da
função que deverá ser preenchido é um vetor contendo variáveis de texto
(strings).
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Contando quantos caracteres existem em cada linha
str_length(nomes_cid)
#> [1] 6 28 31 10 40 77 8 43 59 57 70 81 30 28 18
Observe que neste caso, a função retornou um vetor contendo o número de caracteres de cada string do vetor utilizado no output. Assim, temos linhas que contêm 6 caracteres, outros com 28, outros com 31 caracteres, e assim por diante.
Considere agora que o profissional de vigilância de Rosas necessita
extrair apenas o início de cada doença, e descartar o restante. É
possível utilizar a função str_sub(string, start, end)
,
utilizando seus três argumentos:
string:
o vetor de texto,start:
a posição de início de extração do texto,end:
a posição de fim de extração do texto.
Acompanhe o script abaixo em que solicitamos ao
R
que extraia caracteres entre a 1ª até a 11ª posição na
linha da tabela {nomes_cid
}. Replique o código em seu
RStudio
:
# Extraindo caracteres entre a 1ª e a 11ª posição da linha
str_sub(nomes_cid, start = 1, end = 11)
#> [1] "Cólera" "Febres tifó" "Outras infe" "Shiguelose" "Outras infe"
#> [6] "Outras into" "Amebíase" "Outras doen" "Infecções i" "Diarréia e "
#> [11] "Tuberculose" "Tuberculose" "Tuberculose" "Tuberculose" "Tuberculose"
Observe que obtivemos no output todos os strings
cortados entre o 1º e 11º caracteres da linha da variável
nomes_cid
. Mas perceba que para padronizar as doenças ainda
será necessário refinar ainda mais esta extração, de forma a tornar a
variável padronizada. Continue o curso para saber mais.
Esta função também é bastante flexível, e você pode definir posições de início de fim para cada elemento da linha ou vetor de texto apontando o lugar exato que deseja extrair os caracteres.
Para o próximo exemplo a posição de início da extração será o primeiro caracter do texto, e a posição de final da extração será o número de caracteres da primeira palavra de cada elemento de nosso vetor, que foi determinado manualmente.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Indicando a posição final da primeira palavra de cada texto
str_sub(nomes_cid,
start = 1,
end = c(6,6,6,10,6,6,8,6,9,8,11,11,11,11,11))
#> [1] "Cólera" "Febres" "Outras" "Shiguelose" "Outras"
#> [6] "Outras" "Amebíase" "Outras" "Infecções" "Diarréia"
#> [11] "Tuberculose" "Tuberculose" "Tuberculose" "Tuberculose" "Tuberculose"
Veja como o resultado foi mais preciso na padronização das palavras, as quais neste caso são doenças. Foi fácil, não é mesmo?! Treine com o banco de dados da sua vigilância.

O pacote stringr
do tidyverse
possui todas
as suas funções iniciadas com str_
. Isso tornará mais fácil
carregá-las quando necessário. Pratique!
8.2 Alterando a ordem e reordenando texto
Na maioria das vezes em que filtramos uma planilha ou tabela, quase
sempre organizamos uma variável em ordem alfabética. Já vimos que a
função arrange()
cumpre este objetivo, mas com o pacote
stringr
, você também poderá reordenar um vetor de
strings. Para isso, bastaria utilizar a função
str_sort()
.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Ordenando o objeto {`nomes_cid`} para o formato ascendente (A-Z)
str_sort(nomes_cid)
#> [1] "Amebíase"
#> [2] "Cólera"
#> [3] "Diarréia e gastroenterite de origem infecciosa presumível"
#> [4] "Febres tifóide e paratifóide"
#> [5] "Infecções intestinais virais, outras e as não especificadas"
#> [6] "Outras doenças intestinais por protozoários"
#> [7] "Outras infecções intestinais bacterianas"
#> [8] "Outras infecções por Salmonella"
#> [9] "Outras intoxicações alimentares bacterianas, não classificadas em outra
#parte"
#> [10] "Shiguelose"
#> [11] "Tuberculose das vias respiratórias, sem confirmação bacteriológica ou
#histológica"
#> [12] "Tuberculose de outros órgãos"
#> [13] "Tuberculose do sistema nervoso"
#> [14] "Tuberculose miliar"
#> [15] "Tuberculose respiratória, com confirmação bacteriológica e histológica"
Agora, vamos ordenar o texto de forma decrescente (Z-A). Esta ação
será possível ao adicionarmos o argumento
decreasing = TRUE
.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Ordenando o objeto {`nomes_cid`} para o formato decrescente (Z-A)
str_sort(nomes_cid, decreasing = TRUE)
#> [1] "Tuberculose respiratória, com confirmação bacteriológica e histológica"
#> [2] "Tuberculose miliar"
#> [3] "Tuberculose do sistema nervoso"
#> [4] "Tuberculose de outros órgãos"
#> [5] "Tuberculose das vias respiratórias, sem confirmação bacteriológica ou
# histológica"
#> [6] "Shiguelose"
#> [7] "Outras intoxicações alimentares bacterianas, não classificadas em outra
# parte"
#> [8] "Outras infecções por Salmonella"
#> [9] "Outras infecções intestinais bacterianas"
#> [10] "Outras doenças intestinais por protozoários"
#> [11] "Infecções intestinais virais, outras e as não especificadas"
#> [12] "Febres tifóide e paratifóide"
#> [13] "Diarréia e gastroenterite de origem infecciosa presumível"
#> [14] "Cólera"
#> [15] "Amebíase"
Observe em seu output que a palavra “Amebíase” passou da
primeira posição para a última em apenas uma linha de comando
str_sort(nomes_cid, decreasing = TRUE)
.
Agora vamos aprender a unir palavras e outros textos!
8.3 Unindo textos
Com a linguagem R
também será possível unir um conjunto
de palavras em um único string. Para esta ação iremos utilizar
a função str_c()
, do pacote stringr
.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Unindo *strings* para a formação da palavra "Tuberculose"
str_c("Tuber","culo","se")
#> [1] "Tuberculose"
Observe que todos os strings são unidos sem qualquer tipo de
separação entre si. Esta é a definição padrão da função
str_c()
. Mas, e se quiséssemos definir que queremos que
cada string seja separado por um espaço?
Para responder a esta pergunta adicionaremos o argumento
sep = " "
(igual à vazio). E ainda utilizaremos como
argumento um conjunto de palavras, formando uma expressão no final.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Unindo *strings* incluindo espaço entre elas
# adicionaremos o argumento `sep = " "`
str_c("Tuberculose","respiratória,","com","confirmação",
"bacteriológica","e histológica", sep = " ")
#> [1] "Tuberculose respiratória, com confirmação bacteriológica e histológica"
Perceba que nos dois exemplos que praticamos cada string é o próprio argumento da função, mas necessitam estar separados por uma vírgula.
Lembre-se que é uma boa prática quando utilizamos uma linguagem de
programação salvar as modificações realizadas em um novo objeto. Neste
caso ele será do tipo vetor e chamaremos de {agravo
}.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Salvando as modificações no objeto {`agravo`}
agravo <- c("Tuberculose","respiratória,","com","confirmação",
"bacteriológica","e histológica")
É possível com o R
unirmos o vetor em um único
string de texto. Para isso devemos utilizar o argumento
collapse()
e necessitamos definir novamente uma separação
por espaço, indicando por um espaço entre duas aspas (" "
).
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Unindo *strings* armazenadas no objeto {`agravo`}
# em um único *string* de texto
str_c(agravo, collapse = " ")
#> [1] "Tuberculose respiratória, com confirmação bacteriológica e histológica"
Pronto! Agora você já consegue separar e unir textos ou palavras da forma necessária para suas análises. Pratique!

Imagine que você possui uma lista de nomes de pacientes de uma UBS e necessita listar apenas os primeiros nomes de cada um deles. Como você faria?
Basta utilizar a função word()
do pacote
stringr
. Acompanhe o script de exemplo abaixo e
replique-o em seu RStudio
:
# Criando um vetor de nomes
nomes <- c(
"Caroline Nogueira",
"Cauã Vieira Gomes",
"Leandro Mendes",
"Luigi Aragão",
"Isabella da Rocha",
"Luiza Rezende Silva Lopes"
)
# Extraindo o primeiro nome
word(nomes, 1)
#> [1] "Caroline" "Cauã" "Leandro" "Luigi"
"Isabella" "Luiza"
8.4 Transformando textos
Agora que já aprendemos a importância das etapas de extração,
ordenação, junção e separação de textos para o tratamento e
transformação dos dados , vamos ampliar mais um pouco as possibilidades
de uso do pacote stringr
.
Com o pacote stringr
podemos realizar operações que
modificam os caracteres facilmente, como por exemplo, transformar letras
maiúsculas em minúsculas, ou formato de título, ou formato de
frase. O formato de título ocorre quando queremos que
apenas a primeira letra de cada palavra esteja como maiúscula, enquanto
o formato de frase transforma apenas a primeira letra em
maiúscula, enquanto as restantes são minúsculas.
Estas ações são fundamentais quando estamos preparando nossos dados
para serem analisados tornando nossa análise segura e rápida. Para isso,
utilizamos respectivamente as funções str_to_upper()
,
str_to_lower()
, str_to_title()
, e
str_to_sentence()
.
Para apresentação deste pacote iremos utilizar o objeto criado no
tópico anterior: nomes_cid
. Primeiro, iremos transformar
todos as letras em maiúsculas, utilizando a função
str_to_upper()
.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Transformando todos as letras em maiúsculas
str_to_upper(nomes_cid)
#> [1] "CÓLERA"
#> [2] "FEBRES TIFÓIDE E PARATIFÓIDE"
#> [3] "OUTRAS INFECÇÕES POR SALMONELLA"
#> [4] "SHIGUELOSE"
#> [5] "OUTRAS INFECÇÕES INTESTINAIS BACTERIANAS"
#> [6] "OUTRAS INTOXICAÇÕES ALIMENTARES BACTERIANAS, NÃO CLASSIFICADAS EM OUTRA
# PARTE"
#> [7] "AMEBÍASE"
#> [8] "OUTRAS DOENÇAS INTESTINAIS POR PROTOZOÁRIOS"
#> [9] "INFECÇÕES INTESTINAIS VIRAIS, OUTRAS E AS NÃO ESPECIFICADAS"
#> [10] "DIARRÉIA E GASTROENTERITE DE ORIGEM INFECCIOSA PRESUMÍVEL"
#> [11] "TUBERCULOSE RESPIRATÓRIA, COM CONFIRMAÇÃO BACTERIOLÓGICA E HISTOLÓGICA"
#> [12] "TUBERCULOSE DAS VIAS RESPIRATÓRIAS, SEM CONFIRMAÇÃO BACTERIOLÓGICA OU
# HISTOLÓGICA"
#> [13] "TUBERCULOSE DO SISTEMA NERVOSO"
#> [14] "TUBERCULOSE DE OUTROS ÓRGÃOS"
#> [15] "TUBERCULOSE MILIAR"
Como resultado, você obtém todos os caracteres de texto de seu vetor em letras maiúsculas.
Agora, vamos transformar todos as letras em minúsculas, utilizando a
funçãostr_to_lower()
. Acompanhe o script abaixo e
replique-o em seu RStudio
:
# Transformando todos as letras em minúsculas
str_to_lower(nomes_cid)
#> [1] "cólera"
#> [2] "febres tifóide e paratifóide"
#> [3] "outras infecções por salmonella"
#> [4] "shiguelose"
#> [5] "outras infecções intestinais bacterianas"
#> [6] "outras intoxicações alimentares bacterianas, não classificadas em outra
# parte"
#> [7] "amebíase"
#> [8] "outras doenças intestinais por protozoários"
#> [9] "infecções intestinais virais, outras e as não especificadas"
#> [10] "diarréia e gastroenterite de origem infecciosa presumível"
#> [11] "tuberculose respiratória, com confirmação bacteriológica e histológica"
#> [12] "tuberculose das vias respiratórias, sem confirmação bacteriológica ou
# histológica"
#> [13] "tuberculose do sistema nervoso"
#> [14] "tuberculose de outros órgãos"
#> [15] "tuberculose miliar"
Necessitaremos corrigir a escrita, transformando todos as letras em
frases, ou seja, vamos deixar apenas a primeira maiúscula e o restante
das palavras em minúsculas utilizando a função
str_to_sentence()
.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Transformando apenas a primeira maiúscula e restante das palavras em minúsculas
str_to_sentence(nomes_cid)
#> [1] "Cólera"
#> [2] "Febres tifóide e paratifóide"
#> [3] "Outras infecções por salmonella"
#> [4] "Shiguelose"
#> [5] "Outras infecções intestinais bacterianas"
#> [6] "Outras intoxicações alimentares bacterianas, não classificadas em outra
# parte"
#> [7] "Amebíase"
#> [8] "Outras doenças intestinais por protozoários"
#> [9] "Infecções intestinais virais, outras e as não especificadas"
#> [10] "Diarréia e gastroenterite de origem infecciosa presumível"
#> [11] "Tuberculose respiratória, com confirmação bacteriológica e histológica"
#> [12] "Tuberculose das vias respiratórias, sem confirmação bacteriológica ou
# histológica"
#> [13] "Tuberculose do sistema nervoso"
#> [14] "Tuberculose de outros órgãos"
#> [15] "Tuberculose miliar"
Mas e se você necessitasse corrigir erros nos textos? Na rotina de vigilância em saúde, ao manipular bancos de dados com campos de preenchimento de texto aberto - como por exemplo os campos “observação” - é comum observarmos uma mesma palavra grafada de diferentes formas. Vamos aprender aqui como corrigir estes problemas de escrita.
Imagine que, analisando o campo de descrição do campo “observação” da notificação de uma doença ou agravo, você observou que alguns dos registros contêm de maneira frequente a palavra “Infecções” e ao exportar o banco de dados ela aparece escrita de diferentes maneiras:
"Infecções"
(escrita corretamente),
"Infeccões"
(sem o cedilha), "Infecçoes"
(sem
o acento) e "Infeccoes"
(sem acento e cedilha).
Sabemos que, neste caso, todas essas grafias se referem a uma mesma palavra.
Mas você deve estar se perguntando: “Como podemos padronizar esta
palavra em nossos bancos?”. Uma solução bastante simples é padronizarmos
utilizar a palavra sem nenhum acento ou caractere especial (no caso, o
“ç”). Isto pode ser feito utilizando a função
stri_trans_general()
do pacote stringi
. O
segundo argumento (id = "Latin-ASCII"
) indica a
transformação de caracteres latinos para o padrão ASCII, que será
responsável pela padronização dos caracteres com símbolos especiais para
letras simples.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Vetor com diferentes grafias
nomes <- c("infecções", "infeccões", "infecçoes", "infeccoes")
# Transformação das letras especiais ou com acentuação
stri_trans_general(nomes, id = "Latin-ASCII")
#> [1] "infeccoes" "infeccoes" "infeccoes" "infeccoes"
Veja que como resultado você obtém todas as palavras escritas da mesma maneira.
Quase sempre precisamos obter informações de campos abertos de formulários, seja porque possuem informações sobre o tratamento do paciente ou sobre quem o atendeu, ou mesmo de sinais e sintomas que não puderam ser adicionados em campos fechados. Agora você é capaz de resolver o problema com a grafia dos campos de “observação” de formulários na área da saúde. Pratique!
8.5 Identificando padrões
E se você quisesse saber quantas vezes a palavra “tuberculose” foi digitada no campo observação de um formulário? Ou mesmo, se você necessita avaliar quais os agravos em que esta palavra foi descrita?
Para responder a essas perguntas, iremos te ensinar como identificar
padrões em textos utilizando o pacote stringr
e a sua
função str_subset()
. Esta função possui dois argumentos
principais:
string
: um string ou vetor de strings,pattern
: o padrão a ser identificado.
Vamos praticar avaliando o vetor de nomes da CID
({nomes_cid
}) criado anteriormente. Observe em seu
output a visualização das linhas que contém a palavra
“Tuberculose”.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Extraindo linhas onde a palavra "Tuberculose" aparece
str_subset(nomes_cid, pattern = "Tuberculose")
#> [1] "Tuberculose respiratória, com confirmação bacteriológica e histológica"
#> [2] "Tuberculose das vias respiratórias, sem confirmação bacteriológica ou
# histológica"
#> [3] "Tuberculose do sistema nervoso"
#> [4] "Tuberculose de outros órgãos"
#> [5] "Tuberculose miliar"
Para ignorar as letras maiúsculas e minúsculas é possível utilizar a
função fixed()
dentro do argumento pattern
.
Essa função possui o argumento ignore_case
(ignorar
maiúsculas ou minúsculas). Acompanhe o script abaixo e
replique-o em seu RStudio
:
# Extraindo linhas onde a palavra "tuberculose" aparece, independente se
# maiúscula ou minúscula
str_subset(nomes_cid, pattern = fixed("tuberculose", ignore_case = TRUE))
#> [1] "Tuberculose respiratória, com confirmação bacteriológica e histológica"
#> [2] "Tuberculose das vias respiratórias, sem confirmação bacteriológica ou
# histológica"
#> [3] "Tuberculose do sistema nervoso"
#> [4] "Tuberculose de outros órgãos"
#> [5] "Tuberculose miliar"
Como resultado, você verá um novo vetor contendo apenas os elementos descritos na expressão escolhida.

A função str_detect()
procura pelo padrão em qualquer
posição do texto. Existem duas funções alternativas que você pode
utilizar quando quer encontrar padrões no início ou
ao final do texto. Elas são respectivamente
str_start()
e str_end()
. Neste exemplo, iremos
procurar pela palavra independente se for maiúscula ou minúscula.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
CID10 |>
# Utilizando a função `filter()` com a função
# `str_stars()`
filter(
str_starts(
# Selecionando a variável usada para encontrar
# palavras no início da frase
string = DESCRICAO,
# Definindo a palavra a ser pesquisada e ignorando
# se maiúscula ou minúscula
pattern = fixed("outras", ignore_case = TRUE)
)
) |>
# Selecionando as variáveis que queremos utilizar
# com a função `select()`
select(CAT, DESCRICAO)
#> # A tibble: 179 × 2
#> CAT DESCRICAO
#> <chr> <chr>
#> 1 A02 Outras infecções por Salmonella
#> 2 A04 Outras infecções intestinais bacterianas
#> 3 A05 Outras intoxicações alimentares bacterianas,
# não classificadas em outr…
#> 4 A07 Outras doenças intestinais por protozoários
#> 5 A28 Outras doenças bacterianas zoonóticas não
# classificadas em outra parte
#> 6 A41 Outras septicemias
#> 7 A48 Outras doenças bacterianas não classificadas
# em outra parte
#> 8 A53 Outras formas e as não especificadas da
# sífilis
#> 9 A56 Outras infecções causadas por clamídias
# transmitidas por via sexual
#> 10 A63 Outras doenças de transmissão
# predominantemente sexual, não classifica…
#> # … with 169 more rows
Para selecionar apenas quando uma expressão ocorre ao final do
string, utilize str_ends()
e para buscar no início
utilize str_stars()
. Acompanhe o script abaixo e
replique-o em seu RStudio
:
CID10 |>
# Utilizando a função `filter()` com a função
# `str_ends()`
filter(
str_ends(
# Definindo a variável usada para encontrar
# palavras no final da frase
string = DESCRICAO,
# Definindo a palavra a ser pesquisada e ignorando
# se maiúscula ou minúscula
pattern = fixed("bacterianas", ignore_case = TRUE)
)
) |>
# Selecionando as variáveis que queremos utilizar
# com a função `select()`
select(CAT, DESCRICAO)
#> # A tibble: 2 × 2
#> CAT DESCRICAO
#> <chr> <chr>
#> 1 A04 Outras infecções intestinais bacterianas
#> 2 Y58 Efeitos adversos de vacinas bacterianas
Pronto, agora você já sabe como seria refinar a busca de palavras em campos abertos de autopreenchimento.
8.6 Substituindo valores de texto
O pacote stringr
apresenta diversas possibilidades de
transformação de textos. A mais simples dela permite que uma
substituição de caracteres seja feita de acordo com a posição dos
caracteres no string.
Imagine que a frase “Tuberculose respiratória, com confirmação
bacteriológica e histológica” foi escrita de maneira errônea e você
necessita substituir o texto contido nela devendo trocar a palavra “com”
pela palavra “sem”. Para isso utilizaremos a função
str_replace()
.
Esta função busca no texto a expressão de interesse e a substitui
diretamente, sem necessitar localizar a posição do caracterer na palavra
a ser substituida. Vamos praticar! Você deverá utilizar os três
argumentos de str_replace()
:
string
: string ou vetor de strings que será utilizado para a substituição,pattern
: o padrão de texto a ser identificado para substituição,replacement
: o string de texto que irá substituir o padrão.
É importante ressaltar também que esta função exige o uso do operador
<-
acompanhado da expressão que será utilizada para a
substituição. Veja abaixo como ficaria a substituição da palavra “com”
pelo termo “sem”, utilizando a função str_replace()
.
Acompanhe o script e replique-o em seu
RStudio
:
# Criando um vetor de texto
agravo <- "Tuberculose respiratória, com confirmação bacteriológica e histológica"
# Substituindo palavras
str_replace(agravo, pattern = "com", replacement = "sem")
#> [1] "Tuberculose respiratória, sem confirmação bacteriológica e histológica"
Note que a função str_replace()
irá substituir apenas a
primeira vez em que encontrar um padrão. Para que possamos substituir um
padrão todas as vezes que ele aparecer no texto, utilize a função
str_replace_all()
. No exemplo a seguir, vamos utilizar o
mesmo agravo visto no último exemplo e substituir todas as expressões
contendo o acento “ó” pela vogal “o”, sem acento.
Acompanhe o script abaixo e replique-o em seu
RStudio
:
# Criando um vetor de texto
agravo <- "Tuberculose respiratória, com confirmação bacteriológica e histológica"
# Substituindo palavras
str_replace_all(agravo, pattern = "ó", replacement = "o")
#> [1] "Tuberculose respiratoria, com confirmação bacteriologica e histologica"