Convertir des devises avec des virgules en numérique
J'ai une colonne dans un dataframe comme suit:
COL1
$54,345
$65,231
$76,234
Comment puis-je le convertir en ceci:
COL1
54345
65231
76234
La façon dont je l'ai essayé au début, c'était:
df$COL1<-as.numeric(as.character(df$COL1))
Cela ne fonctionne pas car il dit que NA ont été introduits.
Ensuite, j'ai essayé comme ceci:
df$COL1<-as.numeric(gsub("\$","",as.character(df$COL1)))
Et même ce qui s'est passé.
Des idées?
OriginalL'auteur Nick | 2015-08-11
Vous devez vous connecter pour publier un commentaire.
La raison pour laquelle le
gsub
n'ai pas de travail était il y a,
dans la colonne, ce qui est encore non-numérique. Donc, lors de la conversion de 'numérique' avecas.numeric
, tous les non-éléments numériques sont convertis àNA
. Donc, nous avons besoin de supprimer les deux,
et$
pour le faire fonctionner.Nous
$
et,
à l'intérieur des crochets ([$,]
), de sorte qu'il sera considéré comme ce personnage ($
laissé seul a de signification particulière, c'est à dire qu'il signifie la fin de la chaîne.) et de le remplacer avec''
.Ou nous pouvons échapper (
\\
) de la caractère ($
) afin de les adapter et de les remplacer par''
.OriginalL'auteur akrun
Nous pourrions utiliser
parse_number
dereadr
paquet qui supprime tous les caractères non numériques.OriginalL'auteur Ronak Shah