R语言 如何将字符类更改为数字类?

ilmyapht  于 2023-01-15  发布在  其他
关注(0)|答案(2)|浏览(206)

我有一个这样的变量:
| 英勇|
| - ------|
| 三点五五四、三十四|
| 五十六、三十四|
但是它的类是"character",当我编写这个代码时:

gastosbolsonaro <- gastosbolsonaro %>% mutate(VALOR = as.numeric(VALOR))

发生这种情况:

Problem while computing `VALOR = as.numeric(as.character(VALOR))`.
i NAs introduced by coercion

所有数值变更为NA。
我想把价值货币换成数字类

af7jpaap

af7jpaap1#

您可以使用readr包中的parse_number

library(readr)
x <- c("3.554,34", "56,34")
parse_number(x, locale = locale(decimal_mark = ",", grouping_mark = "."))
[1] 3554.34   56.34
m528fe3b

m528fe3b2#

删除.,将,更改为.,然后使用as.numeric进行转换。

x <- c("3.554,34", "56,34")
. <- gsub(".", "", x, fixed = TRUE)
. <- sub(",", ".", .)
as.numeric(.)
#[1] 3554.34   56.34

或者在一行中:

as.numeric(sub(",", ".", gsub("\\.", "", x)))
#[1] 3554.34   56.34

另一个使用scanbase 选项。

scan(text=gsub("\\.", "", x), dec=",")
#[1] 3554.34   56.34

相关问题