Como Usar sub() e gsub() em R

Introdução

As funções sub() e gsub() em R substituirão a string ou os caracteres em um vetor ou um quadro de dados por uma string específica. Essas funções são úteis ao realizar alterações em conjuntos de dados grandes.

Neste artigo, você explorará como usar as funções sub() e gsub() em R.

Pré-requisitos

Para concluir este tutorial, você precisará:

  • R installed locally or on a server.

Sintaxe de sub() e gsub()

A sintaxe básica para sub() é:

sub(pattern, replacement, x)

A sintaxe básica para gsub() é:

gsub(pattern, replacement, x)

A sintaxe para sub() e gsub() requer um padrão, uma substituição e o vetor ou quadro de dados:

  • padrão: O padrão ou a string que você deseja substituir.
  • substituição: Uma string de entrada para substituir a string de padrão.
  • x: A vector or a data frame to substitute the strings.

O padrão também pode estar na forma de uma expressão regular (regex).

Agora que você está familiarizado com a sintaxe, pode avançar para a implementação.

A função sub() no R

A função sub() no R substitui a string em um vetor ou um data frame pelo input ou pela string especificada.

No entanto, a limitação da função sub() é que ela substitui apenas a primeira ocorrência.

1. Usando a função sub()

Neste exemplo, aprenda como substituir um padrão de string por outra string com a função sub().

# o vetor de input 
df<-"R is an open-source programming language widely used for data analysis and statistical computing."

# a substituição
sub('R','The R language',df)

Executando este comando gera a seguinte saída:

Output
"The R language is an open-source programming language widely used for data analysis and statistical computing."

A função sub() substitui a string 'R' no vetor pela string 'A linguagem R'.

Neste exemplo, houve uma única ocorrência de correspondência de padrão. Considere o que acontece se houver várias ocorrências de correspondências de padrões.

# o vetor de input
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

# a substituição
sub('R','The R language',df)

Executar este comando gera a seguinte saída:

"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

Neste exemplo, você pode observar que a função sub() substituiu a primeira ocorrência da string 'R' por 'A linguagem R'. Mas a próxima ocorrência na string permanece a mesma.

2. Usando a Função sub() com um Data Frame

A função sub() também funciona com data frames.

# criando um data frame
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

# data frame
df

Isto criará o seguinte data frame:

      Creature Population
1     Starfish          5
2    Blue Crab          6
3 Bluefin Tuna          4
4   Blue Shark          2
5   Blue Whale          2

Em seguida, substitua os caracteres 'Blue' pelos caracteres 'Green':

# substituindo os valores
sub('Blue','Green',df)

Executar este comando gera a seguinte saída:

Output
"c(\"Starfish\", \"Green Crab\", \"Bluefin Tuna\", \"Blue Shark\", \"Blue Whale\")" "c(5, 6, 4, 2, 2)"

Você também pode especificar uma coluna específica para substituir todas as ocorrências de 'Blue' por 'Green':

# substituindo os valores
sub('Blue','Green',df$Creature)

Executar este comando gera a seguinte saída:

Output
"Starfish" "Green Crab" "Greenfin Tuna" "Green Shark" "Green Whale"

Todas as instâncias dos caracteres 'Blue' foram substituídas por 'Green'.

A Função gsub() em R

A função gsub() em R é utilizada para operações de substituição. A função recebe a entrada e a substitui pelos valores especificados.

Ao contrário da função sub(), a gsub() aplica uma substituição global a todas as correspondências.

1. Utilizando a Função gsub()

Neste exemplo, aprenda como substituir um padrão de string por outra string com a função gsub().

# o vetor de entrada
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

Estes são dados nos quais 'R' está escrito várias vezes.

# substituindo os valores usando gsub()
gsub('R','The R language',df)
Output
"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive The R language Archive Network (CThe R languageAN)."

Todas as instâncias de ‘R’ foram substituídas (incluindo as instâncias em "Comprehensive R Archive Network" e "CRAN"). A função gsub() encontra cada palavra que corresponde ao parâmetro e substitui por aquela palavra ou valores de entrada.

2. Usando a Função gsub() com Data Frames

A função gsub() também funciona com data frames.

# criando um data frame
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

Vamos prefixar os valores na coluna Creature com 'Deep Sea ':

# substituindo os valores
gsub('.*^','Deep Sea ',df$Creature)

A execução deste comando gera a seguinte saída:

Output
"Deep Sea Starfish" "Deep Sea Blue Crab" "Deep Sea Bluefin Tuna" "Deep Sea Blue Shark" "Deep Sea Blue Whale"

Neste exemplo, a função gsub() usa a expressão regular (regex): .*^. Este é um padrão para a posição no início da string.

Conclusão

Neste artigo, você explorou como usar as funções sub() e gsub() no R. Essas funções substituem a string ou os caracteres em um vetor ou data frame por uma string específica. A função sub() se aplica ao primeiro correspondente. A função gsub() se aplica a todos os correspondentes.

Continue sua aprendizagem com Como Usar replace() no R.

Source:
https://www.digitalocean.com/community/tutorials/sub-and-gsub-function-r