将字符基础科学数字转换为数字并保留R中的科学记数法

时间:2017-10-20 02:45:51

标签: r

我在角色中有这个值:

 val <- "1e-14105"

我想要做的是将它们转换为数字并保留科学记数法。因此结果只是1e-14105作为数字。

我尝试了但失败了:

> as.numeric(val)
[1] 0
> format(as.numeric(val), scientific=TRUE)
[1] "0e+00"

做正确的方法是什么?

1 个答案:

答案 0 :(得分:3)

问题是浮点问题以及R工作的准确度。 将1e-14105转换为数字,然后将其近似为零。请参阅The R Inferno: Circle 1, Falling into the Floating Point Trap

pod install @targetName