我正在寻找一种解决方案,使用标准格式 a x 10 b 以科学记数法格式化 R 中的数字。这是一些同行评审的科学期刊所要求的,手工修改图表可能会变得乏味。
下面是 R 标准“E 符号”的示例,以及我希望它的样子:
var<-0.00000000000000000000000000000031267781238
plot(1,main=var)
感谢您的任何建议!
函数 scinot 中存在一个解决方案,来自最新版本的 R 包 corto,可在 CRAN 上获得。该函数从单个值(或值向量)中生成一个表达式,然后可以用正确的上标打印出来。
用法:
scinot(0.00000543) # expression("5.43" ~ x ~ 10^"-6")
“图形”演示,取自函数示例:
numbers<-c(3.456e-12,0.00901,5670000,-3.16e18,0.000004522,rnorm(5,sd=0.0000001))
plot(0,xlim=c(0,10),ylim=c(0,10),type="n")
text(c(2,6),c(10,10),labels=c("Before","After"),font=2)
for(i in 10:1){
text(c(2,6),c(i-1,i-1),labels=c(numbers[i],scinot(numbers)[i]))
}