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