当数字过长,R语言会自动采用科学计数法显示,测试如下

> a <-
> a
[]
> a <-
> a <-
> a
[]
> a <-
> a
[]
> a <-
> a
[]
> a <-
> a
[] 1e+

可以看到,默认情况下,当超过了10万时,自动采用科学计数法。

在画图时,刻度线采用科学计数法标记并不美观,想要解决这个问题,可以设置options(scipen)

> options(scipen = )
> a <-
> a
[]
> a <-
> a
[] 1e+

取值为1时,10万的数字依然用传统的显示方式,只有100万时,采用科学计数法

> options(scipen = )
> a <-
> a
[]
> a <-
> a
[] 1e+

取值为2时,100万的数字依然用传统的显示方式,只有1000万时,采用科学计数法

从中可以发现规律,默认10万以上,采用科学计数法,scipen = 1 , 这个阈值就增加1位,变成100万,scipen = 2, 这个阈值增加2位,变成1000万。

所以为了让所有的数字都采用传统的数字表示,可以将scipen的数字设置的足够大,比如 scipen = 9。

看下实际效果

plot(sample(:, ))

生成的图片如下

R options scipen 控制科学计数法的显示-LMLPHP

默认情况下,采用了科学计数法

修改scipen的值

> options(scipen = )
> plot(sample(:, ))

生成的图片如下

R options scipen 控制科学计数法的显示-LMLPHP

y轴的数字依然采用传统的显示方式。

05-08 15:20