Las strings o cadenas son una es­tru­c­tu­ra de datos fu­n­da­me­n­tal en R. Se utilizan para mostrar se­cue­n­cias de ca­ra­c­te­res y letras in­di­vi­dua­les. A di­fe­re­n­cia de otros lenguajes de pro­gra­ma­ción, R no tiene un tipo de datos llamado “string”. En su lugar, este tipo de datos de R se denomina “character”.

¿Qué son las strings en R?

Las strings o cadenas son un estándar en los lenguajes de pro­gra­ma­ción y una es­tru­c­tu­ra de datos con la que todos los pro­gra­ma­do­res ex­pe­ri­me­n­ta­dos están fa­mi­lia­ri­za­dos. Si estás empezando a aprender a programar, es im­po­r­ta­n­te que entiendas qué es una cadena.

Las strings no son más que se­cue­n­cias de ca­ra­c­te­res. Las strings se utilizan ha­bi­tua­l­me­n­te para almacenar y procesar datos no numéricos en los programas. Al igual que en otros lenguajes de pro­gra­ma­ción, las cadenas también van entre comillas simples o dobles al escribir código en R.

Cómo crear una string en R

Puedes crear una string en R con solo una línea de código. Tanto las comillas simples como las dobles pueden uti­li­zar­se para crear strings, así que la elección depende de ti:

# String with double quotation marks
string1 <- "Hello world!"
# String with single quotation marks
string2 <- 'Hello world!'
R

Cómo utilizar las funciones y ope­ra­cio­nes de strings en R

R pro­po­r­cio­na a los pro­gra­ma­do­res un conjunto de funciones básicas para que el trabajo con strings sea eficiente. Se pueden utilizar para realizar diversas ope­ra­cio­nes tanto en cadenas como en co­m­bi­na­ción con las mismas. Hemos re­co­pi­la­do aquí una lista de las ope­ra­cio­nes con strings más im­po­r­ta­n­tes en R:

  • substr(): extrae una parte de una string
  • paste(): concatena strings
  • tolower() / toupper(): convierte todas las letras de una string a mi­nú­s­cu­las o ma­yú­s­cu­las
  • strsplit(): divide una string en un punto es­pe­ci­fi­ca­do
  • trimws(): elimina espacios en blanco al principio y al final de una string
  • gsub(): reemplaza patrones en una string por otros ca­ra­c­te­res
  • nchar(): calcula la longitud de una string

Si ya has trabajado con otros lenguajes de pro­gra­ma­ción, pro­ba­ble­me­n­te ya te hayas en­co­n­tra­do con funciones como las an­te­rio­res. Las strings en Python, por ejemplo, también pueden ma­ni­pu­lar­se con ope­ra­cio­nes en Python equi­va­le­n­tes a las an­te­rio­res.

substr()

Puedes utilizar la función substr() para extraer su­b­ca­de­nas de tus strings en R. Para ello, pasa tu cadena a la función como primer parámetro. Como segundo y tercer parámetro, es­pe­ci­fi­ca los índices inicial y final de la subcadena que quieres extraer. Recuerda que, a di­fe­re­n­cia de muchos otros lenguajes de pro­gra­ma­ción, las strings en R se indexan empezando por 1 y no por 0.

string <- "Hello World"
print(substr(string, start=7, stop=11))
R

El ejemplo anterior da como resultado World.

paste()

La función paste() se utiliza en R para unir dos o más strings. Esto se conoce como co­n­ca­te­na­ción. Ten en cuenta que el símbolo + no se puede utilizar para co­n­ca­te­nar strings. El operador R + solo está pensado para tipos de datos numéricos.

string <- "Hello"
string2 <- "World"
print(paste(string+ string2))
R

Cuando se ejecuta paste(), la cadena y la cadena 2 se co­n­ca­te­nan, dando como resultado el texto Hello World.

tolower() / toupper()

Con tolower() y toupper(), puedes cambiar todas las letras de tu cadena a ma­yú­s­cu­las o mi­nú­s­cu­las. Para ambas funciones de string en R, tendrás que utilizar como parámetro la cadena que quieras cambiar. La función te pro­po­r­cio­na­rá entonces una nueva cadena en la que todas las letras estarán escritas en mi­nú­s­cu­las o en ma­yú­s­cu­las.

string <- "Hello World"
print(tolower(string))
print(toupper(string))
R

El código anterior mostrará hello world y HELLO WORLD en tu pantalla. Estas dos funciones de strings en R son es­pe­cia­l­me­n­te útiles para gestionar datos que deben pro­ce­sar­se di­s­ti­n­guie­n­do entre ma­yú­s­cu­las y mi­nú­s­cu­las.

strsplit()

La función strsplit() de R puede resultar familiar a los pro­gra­ma­do­res ex­pe­ri­me­n­ta­dos. Por ejemplo, Python también tiene una función llamada split(). Para la función de strings en R strsplit(), tus pa­rá­me­tros serán la cadena que quieras separar en su­b­ca­de­nas y un de­li­mi­ta­dor, que de­te­r­mi­na­rá dónde debe dividirse la cadena. Cuando se llama a la función, esta devuelve una lista de las su­b­ca­de­nas que se han creado, aunque solo haya una.

string <- "Hello World"
print(strsplit(string, " "))
R

El código produce el siguiente resultado:

[[1]]
[1] "Hello" "World"

El resultado es una lista con dos strings: "Hello" y "World". En este ejemplo, el espacio en blanco entre las dos palabras se ha utilizado como de­li­mi­ta­dor.

trimws()

Con la función trimws() puedes eliminar los espacios en blanco no deseados del principio y el final de tu string en R. Esto puede ser es­pe­cia­l­me­n­te útil al procesar entradas de usuarios que hayan in­tro­du­ci­do in­vo­lu­n­ta­ria­me­n­te espacios en blanco al rellenar un fo­r­mu­la­rio.

string <- "   Hello World   "
print(trimws(string))
R

El código anterior mostrará Hello World sin espacios en blanco al principio o al final de la cadena.

gsub()

Otra operación de strings en R es la función gsub(). En esta función, el primer parámetro es la subcadena que quieres sustituir. El segundo parámetro es la cadena por la que quieres sustituir la subcadena del primer parámetro. El tercer parámetro es­pe­ci­fi­ca a qué cadena debe aplicarse la su­s­ti­tu­ción.

string <- "Hello World"
print(gsub("World", "User", string))
R

En lugar de saludar a todo el mundo, el código emite un texto que solo se dirige a un único usuario: Hello User.

nchar()

Una de las funciones in­co­r­po­ra­das más im­po­r­ta­n­tes para strings es nchar(), que te dice cuál es la longitud de una string en R.

string <- "Hello World"
print(nchar(string))
R

El comando R length() puede causar confusión al principio. Sin embargo, la función length() de R se utiliza para de­te­r­mi­nar el número de elementos de un objeto y no el número de ca­ra­c­te­res de una cadena de R. Para de­te­r­mi­nar la longitud de una string en R, asegúrate de utilizar nchar().

Consejo

Pon en línea tus proyectos de pro­gra­ma­ción con hosting con espacio ilimitado de IONOS. El alo­ja­mie­n­to de espacio web incluye un dominio gratuito durante el primer año y una garantía de de­vo­lu­ción del dinero de 30 días.

¿Qué son los ca­ra­c­te­res de control y las se­cue­n­cias de escape?

Puedes utilizar ca­ra­c­te­res de control para controlar la di­s­po­si­ción del texto de tus strings en R. Los ca­ra­c­te­res de control son se­cue­n­cias de escape pre­de­fi­ni­das que pueden uti­li­zar­se para dar formato a las salidas de texto. Por ejemplo, con ca­ra­c­te­res de control, puedes im­ple­me­n­tar saltos de línea o ta­bu­la­do­res.

Los ca­ra­c­te­res es­pe­cia­les como las comillas, que no­r­ma­l­me­n­te se in­te­r­pre­ta­rían como el principio o el final de una cadena en la sintaxis de R, también se pueden mostrar en strings uti­li­za­n­do una secuencia de escape. Las se­cue­n­cias de escape comienzan con una barra invertida en R. Estas son las más im­po­r­ta­n­tes:

  • \n: nueva línea/salto de línea
  • \t: tabulador
  • \: barra invertida
  • ": comillas dobles
  • ': comillas simples
Ir al menú principal