我正在用R编写一个程序,以估计物理常数的值。
在程序结束时,在我得到我想要的结果后,我想以"值+-错误"的格式将其放在图中。
为了使它更具可读性,我希望指数在值和误差中都相同,但由于误差远小于值,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"
我应该写什么?
自己计算:
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。如果这一假设无效,则有必要稍作修改。