我正在创建如下框图:
data<-read.table("roughness_elevation.txt",header=T,na.strings="Na")
attach(data)
xle<-expression(Elevation~(m))
xlr<-expression(Roughness)
cvalue2<-cut(value2,breaks=c(1000,1100,1200,1300,1400,1500,1600))
png("G:/Users/.../Desktop/MSC/figures/bproughness.png")
plot(value1~cvalue2,xlab=xle,ylab=xlr,main="",outline=FALSE)
dev.off()
现在(海拔高度介于1000到2000之间并浮动),R总是在我的x标签上写下科学数字。我怎么能改变它?
我用scipen = 999和formatC(..)尝试了它,但没有一个能够解决(例如formatC因为cvalue2是一个因素而抛出错误)。
感谢您的帮助!
编辑:
这里是第一行,大约有300万行:
value1 value2
0.6222 1150.0098
0.6400 1149.3142
0.6364 1148.9984
0.6417 1149.0300
0.6385 1149.6849
0.6475 1150.3357
0.6554 1150.4762
0.6474 1150.4563
答案 0 :(得分:3)
将dig.lab = 4添加到cut()函数:
cvalue2<-cut(value2,breaks=c(1000,1100,1200,1300,1400,1500,1600), dig.lab=4)
默认值为3,因此cut()使用科学记数法格式化范围。或者,您可以在每个组的中点指定标签:
cvalue2<-cut(value2, breaks=c(1000,1100,1200,1300,1400,1500,1600),
labels=seq(1050, 1550, by=100))