我是靠谱客的博主 飘逸大象,最近开发中收集的这篇文章主要介绍R语言科学计数法详解:digits和scipen设置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

控制R语言科学计算法显示有两个option: digitis和scipen。介绍的资料很少,而且有些是错误的。经过翻看R语言的帮助和做例子仔细琢磨,总结如下:

默认的设置是:

getOption("digits")
[1] 7
getOption("scipen")
[1] 0
  • digits: 有效数字字符的个数,默认是7, 范围是[1,22]
  • scipen:科学计数显示的penalty,可以为正为负,默认是0

R输出数字时,使用普通数字表示的长度 <= 科学计数法表示的字符长度 + scipen长度时,保留普通数字表示的长度,否者采用科学计数法表示。

举个栗子:

> options(digits = 2) # 有效数字为2位
> options(scipen = 1)
> 1         # 1e+00 长度为5, 保留1显示,长度为1
[1] 1
> 12345678   # 1.2e+07, 长度为7, 7 + scipen = 8, 普通数字表示长度为8, 没有超过8, 任然保留不同数字的表示。
[1] 12345678
> 123456789   # 1.2e+08, 长度为7, 7 + scipen =8, 普通数字表示长度为9,因此切换成科学计数法表示
[1] 1.2e+08

一个简单的方法(不那么准确,比如digits=1时,没有小数点;数非常大时,指数可能是3位数)估算最长的数字串可以这样:

digits + 1 (小数点)+ 4 (e+XX科学计数法表示) + scipen

比如刚才最长不用科学计数法表示的数字长度是2+1+4+1 = 8

我们看看修改scipen = -2, 验证是不是最长数字长度是2+1+4 - 2 = 5

> options(scipen = -2)
> 1234
[1] 1234
> 12345
[1] 12345
> 123456
[1] 1.2e+05

果然!

最后

以上就是飘逸大象为你收集整理的R语言科学计数法详解:digits和scipen设置的全部内容,希望文章能够帮你解决R语言科学计数法详解:digits和scipen设置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部