Las funciones gsub() y sub() de R se pueden combinar fá­ci­l­me­n­te con otras funciones de R para llevar a cabo ma­ni­pu­la­cio­nes complejas de texto. Se utilizan en análisis de datos y cálculos es­ta­dí­s­ti­cos.

¿Para qué se utilizan gsub() y sub() en R?

En R, las funciones gsub() y sub() sirven para sustituir patrones en cadenas de ca­ra­c­te­res. La función sub(), abre­via­tu­ra de “su­b­s­ti­tu­te”, busca y sustituye la primera aparición de un patrón de­te­r­mi­na­do en una cadena por otra expresión. Se trata de una su­s­ti­tu­ción que se realiza una sola vez. En cambio, la función gsub(), que significa “global su­b­s­ti­tu­te”, busca y sustituye todas las apa­ri­cio­nes de un patrón en un string (cadena de ca­ra­c­te­res) por otra expresión.

Ambas funciones son cruciales para la limpieza y tra­n­s­fo­r­ma­ción de datos. Su propósito principal es eliminar patrones no deseados o ajustar datos de texto para su análisis. En R, gsub() y sub() de­sem­pe­ñan un papel crucial en la ma­ni­pu­la­ción de texto para análisis es­ta­dí­s­ti­cos o apli­ca­cio­nes de apre­n­di­za­je au­to­má­ti­co. Puedes utilizar gsub() y sub() para extraer patrones es­pe­cí­fi­cos o tra­n­s­fo­r­mar datos a un formato adecuado para ser analizado.

Esta es la sintaxis de gsub() y sub() en R

La sintaxis de las funciones gsub() y sub() en R es bastante similar, ambos admiten los si­guie­n­tes pa­rá­me­tros:

  • pattern: el patrón a buscar, ya sea en forma de string o expresión regular
  • re­pla­ce­me­nt: la expresión que su­s­ti­tui­rá el patrón en­co­n­tra­do
  • x: vector o marco de datos (data frame) en el cual se realizará la búsqueda y mo­di­fi­ca­ción

Sintaxis de la función gsub() en R

gsub(pattern, replacement, x)
R

Sintaxis de la función sub() de R

sub(pattern, replacement, x)
R

Ejemplos prácticos de gsub() en R

La elección entre sub() o gsub() depende de cuántas veces necesites re­em­pla­zar un patrón. La pa­r­ti­cu­la­ri­dad de gsub() en R es que sustituye todas las veces que aparece un patrón.

Eliminar los espacios en blanco

Puedes utilizar gsub() para eliminar espacios in­ne­ce­sa­rios en strings, como en este ejemplo:

sentence <- "  Data Science  is  powerful.  " 
clean_sentence <- gsub("\\s+", " ", sentence) 
cat(clean_sentence)
R

Resultado:

"Data Science is powerful."
R

La expresión regular \\s+ ide­n­ti­fi­ca uno o más espacios co­n­se­cu­ti­vos y los elimina de la frase.

Sustituir números de teléfono

gsub() en R es útil para ano­ni­mi­zar o eliminar in­fo­r­ma­ción sensible como números de teléfono.

text <- "Contact us at 123-456-7890 for more information." 
modified_text <- gsub("\\d{3}-\\d{3}-\\d{4}", "redacted phone number", text) 
cat(modified_text)
R

Resultado:

"Contact us at redacted phone number for more information."
R

En este caso, la expresión regular \\d{3}-\\d{3}-\\d{4} ide­n­ti­fi­ca números de teléfono del string text y sustituye todos sus dígitos por el marcador de posición "redacted phone number".

Ejemplos de uso de sub() en R

Si solo necesitas sustituir la primera aparición de un patrón, utiliza sub().

Sustituir la primera vez que aparece una palabra

Si tienes un string con una palabra repetida y solo quieres cambiar la primera, hazlo así:

text <- "Data Science is powerful. Data Analysis is fun." 
result_sub <- sub("Data", "Information", text) 
cat(result_sub)
R

Resultado:

"Information Science is powerful. Data Analysis is fun."
R

La función sub() de R busca en el texto el patrón "Data" y lo reemplaza por "Information" solamente la primera vez que aparece.

Sustituir números

También puedes utilizar sub() para cambiar números.

numeric_text <- "The cost is $1000. Please pay by 01.02.2024." 
result <- sub("\\d+", "2000", numeric_text) 
cat(result)
R

Resultado:

"The cost is $2000. Please pay by 01.02.2024."
R

La expresión regular \\d+ ide­n­ti­fi­ca el primer conjunto de cifras, que sub() cambia por "2000".

Consejo

En nuestra Digital Guide puedes encontrar más ex­pli­ca­cio­nes sobre funciones como R substring o R rbind.

Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7
Ir al menú principal