Mis a jour le 2016-05-22, 16:22

Chaînes de caractères

Les chaînes de caractères peuvent être délimitées par '' ou ""
nchar("toto") : longueur de la chaîne de caractères (ou vecteur des longueurs si vecteur de chaînes). Par exemple nchar(c("truc", "bidule")) donne 4 6. Attention, ce n'est pas length !
toupper(x), tolower(x) : pour convertir en minuscules ou majuscules.
LETTERS, letters : le vecteur des lettres de l'alphabet en majuscules ou minuscules.
paste (concaténation) :
substr("abcdef", 2, 4) : extraction de sous chaîne. Ici donne "bcd" (début et fin en comptant à partir de 1 et positions incluses.
strsplit : permet de splitter des chaînes de caractères en fonction d'une sous-chaîne ou d'une expression régulière :
match (matching exact) :
match permet de faire une jointure entre deux frames quand on sait qu'il y a une correspondance 1 pour 1 :
fr1 <- data.frame(x1 = c("a", "b", "c", "d"), y1 = c(3, 4, 5, 6))
fr2 <- data.frame(x2 = c("c", "a", "d", "b"), y2 = c(50, 30, 60, 40))
cbind(fr1, fr2[match(fr1$x1, fr2$x2), ])
  
regexpr (expression régulière) :
gregexpr (expression régulière répétée) :
grep (expression régulière) :
sub (remplacement d'expression régulière) :
gsub (remplacement d'expression régulière répété) :
abbreviate(x, 3) : essaie d'abréger les valeurs de x aux 3 premiers caractères, de façon à avoir unicité des noms. Par exemple :
abbreviate(c("toit", "toute", "tourner"), 3) donne "toit" "tout" "trn"
Traduction de caractères : chartr(oldChar, newChar, vect) : pour traduire une liste de caractères. Exemple :
chartr("pm", "cl", c("pomme", "map")) donne "colle" "lac"
Pour renverser toutes les chaînes de caractères d'un vecteur :
sapply(lapply(strsplit(c("ABC", "cba"), '', fixed = TRUE), rev), paste, collapse = "")

Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R