选择10的次方在R中显示,用于科学计数格式错误

Choose the power of 10 to display in R, for formatting error in scientific notation

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

在程序结束时,在我得到我想要的结果后,我想以 "value +- error".

格式将其放在图中

为了提高可读性,我希望指数在值和误差中都相同,但是因为误差比值小得多,R自动以最接近的 10 的幂写入它。

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

文本命令应该怎么写? 我正在写

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"

我应该写什么?

自己计算一下:

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。如果该假设不成立,则需要进行一些细微的修改。