选择要在R中显示的10的幂,以便用科学计数法格式化错误

时间:2018-01-24 11:51:43

标签: r scientific-notation significant-digits

我在R中编写程序以估计物理常数的值。

在程序结束时,在我得到结果之后,我想把它放在“value + - error”格式的图中。

为了使其更具可读性,我希望指数在值和错误中都相同,但由于误差远小于值,因此R会自动将其写入最近的力量10。

此外,因为这是一个绝对错误,我希望它有1位有效数字。

我应该如何编写文本命令? 我正在写作

text(1000, 2.0e-06,paste("Carica specifica =",format(CS11, digits=4),"+-",formatC(ECS1[1], digits=1))) 

在屏幕上显示:

"1.52e+11+-9e+09"

相反,我希望得到类似的内容:

"1.5e+11+-0.1+e11"

我应该写什么?

1 个答案:

答案 0 :(得分:0)

自己计算:

x <- 1.52e11
se <- 9e9
e <- floor(log10(x))

sprintf("Carica specifica = %.1fe+%d +- %.1fe+%d", x/10^e, e, se/10^e, e)
#[1] "Carica specifica = 1.5e+11 +- 0.1e+11"

这假设x> = 1.如果该假设无效,则需要稍作修改。