将字符强制转换为R中的数字

时间:2014-05-23 03:16:51

标签: r coercion

我是R的新手,我已经学会了像" 12.5"可以使用as.numeric()函数强制转换为数字,这会给我以下结果。

> as.numeric("12.5")
[1] 12.5

但是当我尝试跟随时,结果并不包含小数部分。

> as.numeric("12.0")
[1] 12

有没有办法将小数部分保留在结果中......

提前致谢...

1 个答案:

答案 0 :(得分:1)

是否真的有必要以这种方式打印整数?如果你担心它会如何与其他数字一起出现,比如说在矢量或数据框中,不用担心。如果向量中至少有一个十进制数,则整数也将显示为小数。

> as.numeric(c("12.0", "12.1"))
## [1] 12.0 12.1

> data.frame(x = as.numeric(c("12.0", "12.1")))
##      x
## 1 12.0
## 2 12.1

如果仅出于外观目的,有一些功能可以使12.0 显示为数字。但请记住,这并不强制数字,即使它看起来像。

> noquote("12.0")
## [1] 12.0

> cat("12.0")
## 12.0