如何在 R 中将字符参数(十进制数)转换为数字?

How to convert character argument (decimal number) to numeric in R?

我想将数字 167009345.8 转换为 167009345.8

我用了很多方法都遇到问题

例如,

x <- "167009345.8"
class(x) <- "numeric"`

输出为167009346

但是我想要十进制数167009345.8

我也用过as.numeric,但我有同样的问题

你能帮帮我吗?

options(digits=10)
x<-"167009345.8"
as.numeric(x)
[1] 167009345.8

我不得不将一个长字符串拆分成单独的十进制数。这是非常令人沮丧的。也许这可以节省一些时间:

string = as.character("1.23456, -2.34567, -8.90, +0, +99999.9999, -0.0")
charlist = strsplit(string, "," )
numberlist = lapply(charlist, function(x) (as.numeric(x)))
vector = as.numeric(unlist(numberlist))
vector
[1]      1.23456     -2.34567     -8.90000      0.00000  99999.99990      0.00000