Las cadenas son una secuencia de caracteres encerrados entre comillas simples, dobles o triples o comillas dobles triples.
En R, no hay una distinción explícita entre cadenas simples y dobles como en Python. En R, las comillas simples (‘...’) y las comillas dobles (“...”) se utilizan de manera similar para representar cadenas de caracteres.
# Ejemplos de codificacióncadena1 <-'Esta es una cadena entre comillas simples'cadena2 <-"Esta es una cadena entre comillas dobles"#imprimir resultadoscat(cadena1)
Esta es una cadena entre comillas simples
cat(cadena2)
Esta es una cadena entre comillas dobles
Accediendo a componentes de cadena
Una cadena en R studio es un tipo de secuencia, por lo que admite la indexación.
En R studio, la indexación comienza desde 1. Por ejemplo, lenguaje <- “Rstudio”; podemos evaluar el primer elemento de String con substr (Rstudio, 1, 1) => R.
De manera similar, lenguaje [2] => s, lenguaje [3] => t, y así sucesivamente.
R a diferencia de Phyton no admite índices negativos, es decir, -1, -2, etc.
# cadenaslenguaje<-"Rstudio"# Acceder al primer elemento de la cadena (indexación comienza en 1 en R)primer<-substr(lenguaje, 1, 1)# Imprimir resultadospaste("La primera letra es: ", primer)
[1] "La primera letra es: R"
# Acceder al segundo elemento de la cadenasegundo<-substr(lenguaje, 2, 2)# Imprimir resultadospaste("La segunda letra es: ", segundo)
[1] "La segunda letra es: s"
Concatenación de cadenas
En R, para concatenar las dos cadenas, usamos la función paste() . La función paste() en R es equivalente al operador + para concatenación de cadenas en Python.
# Definir dos cadenas en Rcadena1 <-"Hola,"cadena2 <-"Rstudio!"# Concatenar las dos cadenas usando paste()cadena_concatenada <-paste(cadena1, cadena2)# Imprimir la cadena concatenadaprint(cadena_concatenada)
[1] "Hola, Rstudio!"
Operaciones de cadena y métodos integrados.
En Python para realizar diversas operaciones con cadenas. La sintaxis básica es str.String_method(). Algunos de los métodos de cadena más importantes se detallan a continuación:
a. toupper(): Devuelve una cadena con mayúsculas.
b.tolower(): Devuelve una cadena con minúsculas.
c. Poner primera letra en mayúscula (capitalize() en Python): En R, para poner la primera letra de una cadena en mayúscula, se utiliza la función paste() junto con toupper() y substr() para manipular la cadena.
d. strsplit(): Divide una cadena según un separador y devuelve una lista. El separador predeterminado es el espacio en blanco.
e. trimws(): Elimina los espacios en blanco iniciales y finales de una cadena.
f. sub(): Para eliminar caracteres específicos del lado derecho de una cadena, se puede usar la función sub() o técnicas de subconjuntos.
g. sub(): para eliminar caracteres específicos del lado izquierdo de una cadena, se puede usar la función sub() o técnicas de subconjuntos.
h. nchar(): Da la longitud de una cadena.
i. Reemplazar subcadena : Para reemplazar una subcadena en una cadena, se utiliza la función sub()
ii. grep(): busca la primera aparición de una subcadena especificada en una cadena.
j. startsWith(): Este método comprobará y devolverá ‘T’ si una cadena comienza con una subcadena especificada.
k. substring(): este método verificará y devolverá ‘T’ si una cadena termina con una subcadena especificada.
l. grepl(): Este método comprobará y devolverá ‘T’ si todos los caracteres de la cadena son dígitos, decimales, alfabetos, mayusculas, minusculas y tambien si son alfanuméricos.
# Ejemplos# Convertir todas las letras minúsculas a mayúsculascurso <-"Programacion en Lenguaje Estadistico"
# Convertir a mayúsculasmayusculas <-toupper(curso)cat(mayusculas)
PROGRAMACION EN LENGUAJE ESTADISTICO
# Elimina los espacios en blanco iniciales y finales de una cadenaejemplo_2 <-trimws(curso)paste(ejemplo_2)
[1] "Programacion en Lenguaje Estadistico"
# Longitudlongitud<-nchar(curso)longitud
[1] 36
# Comprobar si está en minúsculases_minusculas <-grepl("^[a-z]+$", curso)cat("¿Está en minúsculas? ", es_minusculas)
¿Está en minúsculas? FALSE
# Comprobar si son decimaleses_decimales <-grepl("^\\d*\\.?\\d+$", curso)cat("¿Es decimales? ", es_decimales)
¿Es decimales? FALSE
# Cadena de ejemplocadena <-"A bC"# Comprobar si son letras (mayúsculas o minúsculas)es_letras <-grepl("^[A-Za-z]+$", cadena)print(paste("¿Es letras? ", es_letras))
[1] "¿Es letras? FALSE"
# Comprobar si está en minúsculases_minusculas <-grepl("^[a-z]+$", curso)print(paste("¿Está en minúsculas? ", es_minusculas))
[1] "¿Está en minúsculas? FALSE"
# Comprobar si es alfanuméricoes_alfanumerico <-grepl("^[A-Za-z0-9]+$", curso)print(paste("¿Es alfanumérico? ", es_alfanumerico))