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)
RSintaxis de la función sub()
de R
sub(pattern, replacement, x)
REjemplos 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 <- " La ciencia de datos es poderosa. "
clean_sentence <- gsub("\\s+", " ", sentence)
cat(clean_sentence)
RResultado:
"La ciencia de datos es poderosa."
RLa 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 <- "Contacta con nosotros en el 912-34-56-78 para más información."
modified_text <- gsub("\\d{3}-\\d{3}-\\d{4}", "número de teléfono eliminado", text)
cat(modified_text)
RResultado:
"Contacta con nosotros en el número de teléfono eliminado para obtener más información."
REn 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 "número de teléfono eliminado"
.
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 <- "La ciencia de datos es poderosa. El análisis de datos es divertido."
result_sub <- sub("datos", "información", text)
cat(result_sub)
RResultado:
"La ciencia de información es poderosa. El análisis de datos es divertido."
RLa función sub()
de R busca en el texto el patrón "datos"
y lo reemplaza por "información"
solamente la primera vez que aparece.
Sustituir números
También puedes utilizar sub()
para cambiar números.
numeric_text <- "El coste es de 1000 €. Por favor, paga antes del 01.02.2024."
result <- sub("\\d+", "2000", numeric_text)
cat(result)
RResultado:
"El coste es de 2000 €. Por favor, paga antes del 01.02.2024."
RLa expresión regular \\d+
identifica el primer conjunto de cifras, que sub()
cambia por "2000"
.
En nuestra Digital Guide puedes encontrar más explicaciones sobre funciones como R substring o R rbind.
- Rápido, seguro, flexible y escalable
- Seguro con SSL y protección DDoS
- Dominio y asesor personal incluidos