Extraire tous les nombres d'une seule chaîne dans R
Imaginons que vous avez une chaîne:
strLine <- "The transactions (on your account) were as follows: 0 3,000 (500) 0 2.25 (1,200)"
Est-il une fonction qui supprime les numéros dans une matrice/vecteur de la production de la suite de solution requise:
result <- c(0, 3000, -500, 0, 2.25, -1200)?
c'est à dire
result[3] = -500
Avis, les nombres sont présentés dans le formulaire de déclaration en détail les nombres négatifs apparaissent entre (). Aussi, vous pouvez supposer que seuls les nombres apparaissent à droite de la première occurrence d'un nombre. Je ne suis pas bon avec les regexp si vous serions reconnaissants si vous pouviez m'aider si cela devait être nécessaire. Aussi, je ne veux pas assumer la chaîne est toujours la même chose donc je suis à la recherche d'en extraire tous les mots (et les caractères spéciaux) avant de l'emplacement du premier numéro.
source d'informationauteur Bertie
Vous devez vous connecter pour publier un commentaire.
Modifier les parens points négatifs:
Et puis
as.numeric()
outaRifx::destring
pour finir (le la prochaine version dedestring
soutiendra négatifs par défaut de sorte que lekeep
option ne sera pas nécessaire):OU:
Voici la base de R, pour le bien de l'exhaustivité...
Ce qui pour moi a fonctionné parfaitement lorsque l'on travaille sur des chaînes de caractères dans un
data frame
(Une chaîne de caractères par ligne dans la même colonne) est le suivant:Les résultats sont dans une nouvelle colonne à partir de la même
data frame
.