如何将提供给 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
您可以使用 gsub
、parse
和 eval
uate 将 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
我有一个以科学记数法表示的变量作为字符串传递到我的脚本。 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
您可以使用 gsub
、parse
和 eval
uate 将 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