當數字過長,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軸的數字依然采用傳統的顯示方式。