我在角色中有这个值:
val <- "1e-14105"
我想要做的是将它们转换为数字并保留科学记数法。因此结果只是1e-14105
作为数字。
我尝试了但失败了:
> as.numeric(val)
[1] 0
> format(as.numeric(val), scientific=TRUE)
[1] "0e+00"
做正确的方法是什么?
答案 0 :(得分:3)
问题是浮点问题以及R工作的准确度。 将1e-14105转换为数字,然后将其近似为零。请参阅The R Inferno: Circle 1, Falling into the Floating Point Trap。
pod install @targetName