Cómo usar sub() y gsub() en R

Introducción

Las funciones sub() y gsub() en R sustituirán la cadena o los caracteres en un vector o un marco de datos con una cadena específica. Estas funciones son útiles al realizar cambios en conjuntos de datos grandes.

En este artículo, explorarás cómo utilizar las funciones sub() y gsub() en R.

Requisitos previos

Para completar este tutorial, necesitarás:

  • R installed locally or on a server.

Sintaxis de sub() y gsub()

La sintaxis básica de sub() es:

sub(pattern, replacement, x)

La sintaxis básica de gsub() es:

gsub(pattern, replacement, x)

La sintaxis de sub() y gsub() requiere un patrón, una sustitución y el vector o marco de datos:

  • patrón: El patrón o la cadena que deseas sustituir.
  • sustitución: Una cadena de entrada para sustituir la cadena de patrón.
  • x: A vector or a data frame to substitute the strings.

El patrón también puede estar en forma de una expresión regular (regex).

Ahora que estás familiarizado con la sintaxis, puedes pasar a la implementación.

La función sub() en R

La función sub() en R reemplaza la cadena en un vector o en un marco de datos con la cadena de entrada o la cadena especificada.

Sin embargo, la limitación de la función sub() es que solo sustituye la primera ocurrencia.

1. Usando la función sub()

En este ejemplo, aprende cómo sustituir un patrón de cadena con una cadena de reemplazo utilizando la función sub().

# el vector de entrada
df<-"R is an open-source programming language widely used for data analysis and statistical computing."

# el reemplazo
sub('R','The R language',df)

Ejecutar este comando genera la siguiente salida:

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

La función sub() reemplaza la cadena 'R' en el vector con la cadena 'El lenguaje R'.

En este ejemplo, hubo una única ocurrencia de coincidencia de patrones. Considera qué sucede si hay múltiples ocurrencias de coincidencias de patrones.

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

# el reemplazo
sub('R','The R language',df)

Ejecutar este comando genera la siguiente salida:

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

En este ejemplo, puedes observar que la función sub() reemplazó la primera ocurrencia de la cadena 'R' con 'El lenguaje R'. Pero la siguiente ocurrencia en la cadena permanece igual.

2. Utilizando la Función sub() con un Marco de Datos

La función sub() también funciona con marcos de datos.

# creando un marco de datos
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

# marco de datos
df

Esto creará el siguiente marco de datos:

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

Luego reemplace los caracteres 'Azul' con los caracteres 'Verde':

# sustituyendo los valores
sub('Blue','Green',df)

Ejecutar este comando genera la siguiente salida:

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

También puedes especificar una columna particular para reemplazar todas las ocurrencias de 'Azul' con 'Verde':

# sustituyendo los valores
sub('Blue','Green',df$Creature)

Ejecutar este comando genera la siguiente salida:

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

Todas las instancias de los caracteres 'Azul' han sido reemplazadas con 'Verde'.

La función gsub() en R

La función gsub() en R se utiliza para operaciones de reemplazo. La función toma la entrada y la sustituye por los valores especificados.

A diferencia de la función sub(), gsub() aplica una sustitución global a todas las coincidencias.

1. Uso de la función gsub()

En este ejemplo, aprende cómo sustituir un patrón de cadena con una cadena de reemplazo utilizando la función gsub().

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

Estos son datos que tienen 'R' escrito varias veces.

# sustituir los 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)."

Se han reemplazado todas las instancias de ‘R’ (incluyendo las instancias en "Comprehensive R Archive Network" y "CRAN"). La función gsub() encuentra cada palabra que coincide con el parámetro y la reemplaza con la palabra o valores de entrada.

2. Usando la función gsub() con Data Frames

La función gsub() también funciona con data frames.

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

Vamos a prefijar los valores en la columna Creature con 'Deep Sea ':

# sustituyendo los valores
gsub('.*^','Deep Sea ',df$Creature)

Al ejecutar este comando se genera la siguiente salida:

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

En este ejemplo, la función gsub() utiliza la expresión regular (regex): .*^. Este es un patrón para la posición al inicio de la cadena.

Conclusión

En este artículo, exploraste cómo usar las funciones sub() y gsub() en R. Estas funciones sustituyen la cadena o los caracteres en un vector o un data frame con una cadena específica. La función sub() se aplica para la primera coincidencia. La función gsub() se aplica para todas las coincidencias.

Continúa aprendiendo con Cómo Usar replace() en R.

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