Convert currency with commas into numeric

Nick picture Nick · Aug 11, 2015 · Viewed 20.7k times · Source

I have a column in a dataframe as follows:

COL1
$54,345
$65,231
$76,234

How do I convert it into this:

COL1
54345
65231
76234

The way I tried it at first was:

df$COL1<-as.numeric(as.character(df$COL1))

That didn't work because it said NA's were introduced.

Then I tried it like this:

df$COL1<-as.numeric(gsub("\\$","",as.character(df$COL1)))

And the same this happened.

Any ideas?

Answer

Ronak Shah picture Ronak Shah · Jan 8, 2018

We could use parse_number from readr package which removes any non-numeric characters.

library(readr)
parse_number(df$COL1)
#[1] 54345 65231 76234