fractionner les données de caractères en chiffres et lettres
J'ai un vecteur de données de caractère. La plupart des éléments d'un vecteur sont constitués d'une ou de plusieurs lettres, suivi d'un ou de plusieurs chiffres. Je souhaite diviser chaque élément du vecteur dans la partie, et le numéro de partie. J'ai trouvé une question similaire sur Stackoverflow.com ici:
diviser un caractère à partir d'un nombre à plusieurs chiffres
Cependant, la réponse donnée ci-dessus ne semble pas fonctionner complètement dans mon cas ou je fais quelque chose de mal. Un exemple de vecteur est ci-dessous:
my.data <- c("aaa", "b11", "b21", "b101", "b111", "ccc1", "ddd1", "ccc20", "ddd13")
# I can obtain the number portion using:
gsub("[^[:digit:]]", "", my.data)
# However, I cannot obtaining the character portion using:
gsub("[:digit:]", "", my.data)
Comment puis-je obtenir le caractère portion? Je suis en utilisant la version R 2.14.1 sur un Windows 7 64-bit de la machine.
source d'informationauteur Mark Miller
Vous devez vous connecter pour publier un commentaire.
Pour votre regex vous devez utiliser:
La
[:digit:]
classe de personnage n'a de sens qu'à l'intérieur d'un ensemble de[]
.Avec
stringr
si vous voulez (et légèrement différente de la réponse à l'autre question):Étant donné qu'aucune des réponses précédentes utilisation
tidyr::separate
ici, il va: