I have a variable like this:
| VALOR |
|---|
| 3.554,34 |
| 56,34 |
But its class is "character" and when I code this:
gastosbolsonaro <- gastosbolsonaro %>% mutate(VALOR = as.numeric(VALOR))
Happening this:
Problem while computing `VALOR = as.numeric(as.character(VALOR))`.
i NAs introduced by coercion
And all value change to NA's.
I want to change value money to numeric class
CodePudding user response:
You can use parse_number from readr package
library(readr)
x <- c("3.554,34", "56,34")
parse_number(x, locale = locale(decimal_mark = ",", grouping_mark = "."))
[1] 3554.34 56.34
CodePudding user response:
Remove ., change , to . and then convert using as.numeric.
x <- c("3.554,34", "56,34")
. <- gsub(".", "", x, fixed = TRUE)
. <- sub(",", ".", .)
as.numeric(.)
#[1] 3554.34 56.34
Another base option using scan.
scan(text=gsub("\\.", "", x), dec=",")
#[1] 3554.34 56.34
