Cadenas

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ón
cadena1 <- 'Esta es una cadena entre comillas simples'
cadena2 <- "Esta es una cadena entre comillas dobles"

#imprimir resultados
cat(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.

# cadenas
lenguaje<- "Rstudio"

# Acceder al primer elemento de la cadena (indexación comienza en 1 en R)
primer<- substr(lenguaje, 1, 1)

# Imprimir resultados
paste("La primera letra es: ", primer)
[1] "La primera letra es:  R"
# Acceder al segundo elemento de la cadena
segundo<- substr(lenguaje, 2, 2)

# Imprimir resultados
paste("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 R
cadena1 <- "Hola,"
cadena2 <- "Rstudio!"

# Concatenar las dos cadenas usando paste()
cadena_concatenada <- paste(cadena1, cadena2)

# Imprimir la cadena concatenada
print(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úsculas

curso <- "Programacion en Lenguaje Estadistico"
# Convertir a mayúsculas
mayusculas <- toupper(curso)
cat(mayusculas)
PROGRAMACION EN LENGUAJE ESTADISTICO
# Elimina los espacios en blanco iniciales y finales de una cadena
ejemplo_2 <- trimws(curso)
paste(ejemplo_2)
[1] "Programacion en Lenguaje Estadistico"
# Longitud
longitud<- nchar(curso)
longitud
[1] 36
# Comprobar si está en minúsculas
es_minusculas <- grepl("^[a-z]+$", curso)
cat("¿Está en minúsculas? ", es_minusculas)
¿Está en minúsculas?  FALSE
# Comprobar si son decimales
es_decimales <- grepl("^\\d*\\.?\\d+$", curso)
cat("¿Es decimales? ", es_decimales)
¿Es decimales?  FALSE
# Cadena de ejemplo
cadena <- "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úsculas
es_minusculas <- grepl("^[a-z]+$", curso)
print(paste("¿Está en minúsculas? ", es_minusculas))
[1] "¿Está en minúsculas?  FALSE"
# Comprobar si es alfanumérico
es_alfanumerico <- grepl("^[A-Za-z0-9]+$", curso)
print(paste("¿Es alfanumérico? ", es_alfanumerico))
[1] "¿Es alfanumérico?  FALSE"