La manipulación de strings básicamente se refiere al proceso de manejo y análisis de strings. Implica varias operaciones relacionadas con la modificación y el análisis de strings para usar y cambiar sus datos. R ofrece una serie de funciones integradas para manipular el contenido de una string. En este artículo, estudiaremos diferentes funciones relacionadas con la manipulación de strings en R.
Concatenación de strings
La concatenación de strings es la técnica de combinar dos strings. La concatenación de strings se puede hacer de muchas maneras:
- función pegar()
Se puede concatenar cualquier cantidad de strings usando la
paste()
función para formar una string más grande. Esta función toma el separador como argumento que se usa entre los elementos de string individuales y otro argumento ‘colapso’ que refleja si deseamos imprimir las strings juntas como una sola string más grande. De forma predeterminada, el valor de colapso es NULL. Sintaxis:
paste(..., sep=" ", collapse = NULL)
Ejemplo:
# R program for String concatenation # Concatenation using paste() function str <- paste("Learn", "Code") print (str)
Producción:
"Learn Code"
En caso de que no se especifique ningún separador, el separador predeterminado ” ” se inserta entre strings individuales.
Ejemplo:
str <- paste(c(1:3), "4", sep = ":") print (str)
Producción:
"1:4" "2:4" "3:4"
Dado que los objetos a concatenar son de diferentes longitudes, se aplica una repetición de la string de menor longitud con las otras strings de entrada. La primera string es una secuencia de 1, 2, 3 que luego se concatena individualmente con la otra string «4» usando el separador ‘:’.
str <- paste(c(1:4), c(5:8), sep = "--") print (str)
Producción:
"1--5" "2--6" "3--7" "4--8"
Dado que ambas strings tienen la misma longitud, los elementos correspondientes de ambas se concatenan, es decir, el primer elemento de la primera string se concatena con el primer elemento de la segunda string usando el sep ‘–’.
Se pueden concatenar diferentes tipos de strings usando la
cat()
función ) en R, donde sep especifica el separador que se da entre las strings y el nombre del archivo, en caso de que deseemos escribir el contenido en un archivo. Sintaxis:
cat(..., sep=" ", file)
Ejemplo:
# R program for string concatenation # Concatenation using cat() function str < - cat( "learn" , "code" , "tech" , sep = ":" ) print ( str ) |
Producción:
learn:code:techNULL
La string de salida se imprime sin comillas y el separador predeterminado es ‘:’. El valor NULL se agrega al final.
Ejemplo:
cat(c( 1 : 5 ), file = 'sample.txt' ) |
Producción:
1 2 3 4 5
La salida se escribe en un archivo de texto sample.txt en el mismo directorio de trabajo.
Cálculo de la longitud de las strings
- función longitud()
La
length()
función determina el número de strings especificadas en la función. Ejemplo:
# R program to calculate length print (length(c( "Learn to" , "Code" ))) |
Producción:
2
Hay dos strings especificadas en la función.
nchar()
cuenta el número de caracteres en cada una de las strings especificadas como argumentos para la función individualmente. Ejemplo:
print (nchar(c( "Learn" , "Code" ))) |
Producción:
5 4
La salida indica la longitud de Learn y luego Code separados por ” ”.
Conversión de casos de strings
- Conversión a mayúsculas
Todos los caracteres de las strings especificadas se convierten a mayúsculas.
Ejemplo:
print (toupper(c( "Learn Code" , "hI" ))) |
Producción :
"LEARN CODE" "HI"
Todos los caracteres de las strings especificadas se convierten a minúsculas.
Ejemplo:
print (tolower(c( "Learn Code" , "hI" ))) |
Producción :
"learn code" "hi"
Todos los caracteres de las strings especificadas se convierten a minúsculas o mayúsculas según los argumentos en casefold(…, upper=TRUE).
Ejemplos:
print (casefold(c( "Learn Code" , "hI" ))) |
Producción:
"learn code" "hi"
De forma predeterminada, las strings se convierten a minúsculas.
print (casefold(c( "Learn Code" , "hI" ), upper = TRUE)) |
Producción:
"LEARN CODE" "HI"
Reemplazo de personajes
Los caracteres se pueden traducir usando la función chartr(oldchar, newchar, …) en R, donde cada instancia del carácter antiguo se reemplaza por el carácter nuevo en el conjunto de strings especificado.
Ejemplo 1:
chartr("a", "A", "An honest man gave that")
Producción:
"An honest mAn gAve thAt"
Cada instancia de ‘a’ se reemplaza por ‘A’.
Ejemplo 2:
chartr("is", "#@", c("This is it", "It is great"))
Producción:
"Th#@ #@ #t" "It #@ great"
Cada instancia de una string antigua se reemplaza por una nueva string especificada. «i» se reemplaza por «#» por «s» por «@», es decir, las posiciones correspondientes de la string anterior se reemplazan por una string nueva.
Ejemplo 3:
chartr("ate", "#@", "I hate ate")
Producción:
Error in chartr("ate", "#@", "I hate ate") : 'old' is longer than 'new' Execution halted
La longitud de la string anterior debe ser menor que la de la string nueva.
Dividiendo la cuerda
Una string se puede dividir en strings individuales correspondientes utilizando ” ” como separador predeterminado.
Ejemplo:
strsplit("Learn Code Teach !", " ")
Producción:
[1] "Learn" "Code" "Teach" "!"
Trabajando con substrings
La función substr(…, inicio, fin) o substring(…, inicio, fin) en R extrae substrings de una string que comienza con el índice inicial y termina con el índice final. También reemplaza la substring especificada con un nuevo conjunto de caracteres.
Ejemplo:
substr("Learn Code Tech", 1, 4)
Producción:
"Lear"
Extrae los primeros cuatro caracteres de la string.
str <- c("program", "with", "new", "language") substring(str, 3, 3) <- "%" print(str)
Producción:
"pr%gram" "wi%h" "ne%" "la%guage"
Reemplaza el tercer carácter de cada string con el signo %.
str <- c("program", "with", "new", "language") substr(str, 3, 3) <- c("%", "@") print(str)
Producción:
"pr%gram" "wi@h" "ne%" "la@guage"
Reemplaza el tercer carácter de cada string alternativamente con los símbolos especificados.