如何将提供给 r 的科学记数法解析为字符串?

How to parse scientific notation provided to r as a string?

我有一个以科学记数法表示的变量作为字符串传递到我的脚本。 as.numeric returns 和 NA 当我尝试将其转换为数字时。但是,如果我提供完全相同的数字(当然没有引号),我可以正常操作变量。有没有办法解析作为字符提供的科学记数法?

> varc = "4.38962*10^-8"
> as.numeric(varc)
[1] NA
Warning message:
NAs introduced by coercion 
> varn = 4.38962*10^-8 
> varn*10
[1] 4.38962e-07

您可以使用 gsubparseevaluate 将 10^ 变成 e

eval(parse(text=gsub('\*10\^', 'e', "4.38962*10^-8")))
# [1] 4.38962e-08

as.numeric.

as.numeric(gsub('\*10\^', 'e', "4.38962*10^-8"))
# [1] 4.38962e-08