Number values include comma -- how do I make these numeric?
16,609
Solution 1
If you are trying to add a new column var2
to df
, you can use the following
df$var2 <- as.numeric(gsub(",", "", as.character(df$var1)))
Solution 2
Use as.numeric(gsub(",", "", df$var1))
.
You want to use gsub
as sub
will only replace the first comma.
![Amanda](https://i.stack.imgur.com/r8ajt.jpg?s=256&g=1)
Comments
-
Amanda almost 2 years
I have a whole column of numbers that include comma separators at the thousands. When I try to create a numeric column out of them, anything over 999 becomes NA.
I used cbind:
df <- cbind(df, var2 = as.numeric(as.character(df$var1)))
and wound up with:
var1 var2 1 2,518.50 NA 2 2,518.50 NA 3 5,018.50 NA 4 4,018.50 NA 5 10,018.50 NA 6 318.50 318.5 7 2,518.50 NA 8 3,518.50 NA 9 7,518.50 NA 10 1,018.50 NA
Is there a way to strip the commas or tell
as.numeric
how to handle them? -
Amanda over 11 yearsNice. I don't even need cbind?
-
Ricardo Saporta over 11 yearsnope, with data frames you can just assign.
df[[var2]] <- value
anddf$var2 <- value
both work.