gsub() y sub() en R: sustituir cadenas y caracteres

Las funciones gsub() y sub() de R se pueden combinar fácilmente con otras funciones de R para llevar a cabo manipulaciones complejas de texto. Se utilizan en análisis de datos y cálculos estadísticos.

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

En R, las funciones gsub() y sub() sirven para sustituir patrones en cadenas de caracteres. La función sub(), abreviatura de “substitute”, busca y sustituye la primera aparición de un patrón determinado en una cadena por otra expresión. Se trata de una sustitución que se realiza una sola vez. En cambio, la función gsub(), que significa “global substitute”, busca y sustituye todas las apariciones de un patrón en un string (cadena de caracteres) por otra expresión.

Ambas funciones son cruciales para la limpieza y transformació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() desempeñan un papel crucial en la manipulación de texto para análisis estadísticos o aplicaciones de aprendizaje automático. Puedes utilizar gsub() y sub() para extraer patrones específicos o transformar 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 siguientes parámetros:

  • pattern: el patrón a buscar, ya sea en forma de string o expresión regular
  • replacement: la expresión que sustituirá el patrón encontrado
  • x: vector o marco de datos (data frame) en el cual se realizará la búsqueda y modificació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 reemplazar un patrón. La particularidad 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 innecesarios 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+ identifica uno o más espacios consecutivos y los elimina de la frase.

Sustituir números de teléfono

gsub() en R es útil para anonimizar o eliminar informació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} identifica 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+ identifica el primer conjunto de cifras, que sub() cambia por "2000".

Consejo

En nuestra Digital Guide puedes encontrar más explicaciones sobre funciones como R substring o R rbind.

Hosting
El hosting como nunca lo habías visto
  • Rápido, seguro, flexible y escalable
  • Certificado SSL/DDoS incluido
  • Dominio y asesor personal incluidos
¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top