当数字过长,R语言会自动采用科学计数法显示,测试如下
> a <- 100 > a [1] 100 > a <- 200 > a <- 100 > a [1] 100 > a <- 1000 > a [1] 1000 > a <- 10000 > a [1] 10000 > a <- 100000 > a [1] 1e+05
可以看到,默认情况下,当超过了10万时,自动采用科学计数法。
在画图时,刻度线采用科学计数法标记并不美观,想要解决这个问题,可以设置options(scipen)
> options(scipen = 1) > a <- 100000 > a [1] 100000 > a <- 1000000 > a [1] 1e+06
取值为1时,10万的数字依然用传统的显示方式,只有100万时,采用科学计数法
> options(scipen = 2) > a <- 1000000 > a [1] 1000000 > a <- 10000000 > a [1] 1e+07
取值为2时,100万的数字依然用传统的显示方式,只有1000万时,采用科学计数法
从中可以发现规律,默认10万以上,采用科学计数法,scipen = 1 , 这个阈值就增加1位,变成100万,scipen = 2, 这个阈值增加2位,变成1000万。
所以为了让所有的数字都采用传统的数字表示,可以将scipen的数字设置的足够大,比如 scipen = 9。
看下实际效果
plot(sample(10000:100000, 100))
生成的图片如下
默认情况下,采用了科学计数法
修改scipen的值
> options(scipen = 9) > plot(sample(10000:100000, 100))
生成的图片如下
y轴的数字依然采用传统的显示方式。