En R se pueden declarar vectores alfanuméricos o de clase carácter:
letras=c("a","b","c","d")
class(letras)
## [1] "character"
paste()
: esta función “pega” variables de clase character
; la opción sep
indica el símbolo que separa los valores que se han pegado; en caso de que no se quiera dejar ningún símbolo de separación, debe usarse sep=""
:paste("A","B",sep="-")
## [1] "A-B"
Podemos pegar vectores (se pegarán término a término: primer valor con primer valor, segundo con segundo, etc.)
codigos <- paste(c("A", "B"), 2:3, sep = "")
codigos
## [1] "A2" "B3"
codigos <- paste(c("A", "B"), 2:3, sep = ".")
codigos
## [1] "A.2" "B.3"
Obsérvese, que con la opción sep
se obtiene como resultado un vector de la misma longitud que los vectores que se pegan.
Cuando se utiliza paste
sobre un único vector con la opción collapse
, se “pegan” todos los términos del vector en un único valor:
paste(c("una", "frase", "simple"), collapse = " ")
## [1] "una frase simple"
Compárese con el efecto de utilizar sep
en el comando anterior:
paste(c("una", "frase", "simple"), sep = " ")
## [1] "una" "frase" "simple"
Otros ejemplos:
columna.a <- LETTERS[1:5]
columna.a
## [1] "A" "B" "C" "D" "E"
columna.b <- 10:15
columna.b
## [1] 10 11 12 13 14 15
juntar <- paste(columna.a, columna.b, sep = "")
juntar
## [1] "A10" "B11" "C12" "D13" "E14" "A15"
paste(juntar, collapse=" ")
## [1] "A10 B11 C12 D13 E14 A15"
La función substr(x,n1,n2)
selecciona los caracteres de x
entre las posiciones n1
y n2
; permite también realizar asignaciones:
substr("abcdef", 2, 4)
## [1] "bcd"
x <- "ABCDEF"
x
## [1] "ABCDEF"
substr(x, 3, 5) <- c("uv")
x
## [1] "ABuvEF"
R dispone de numerosas funciones para manipular caracteres. El paquete stringr
amplía estas funciones y, en muchos casos, facilita su uso.
Utiliza la ayuda de R para averiguar la utilidad de las funciones nchar, grep, match, pmatch, tolower, toupper, sub, gsub
.
© 2016 Angelo Santana, Carmen N. Hernández, Departamento de Matemáticas ULPGC