控制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设置相关推荐

  1. java指数表示法_Java指数计数法详解

    Java指数计数法详解 时间:2017-10-16     来源:华清远见Java培训中心 Java指数计数法并不是一个很难的运算,关键是你要理解应用,很多朋友不理解Java指数计数法,所以也无从运用 ...

  2. R语言科学计数法数据改变/丢失/失准,取消科学计数法的原因和解决方法

    问题描述 如何在R中取消科学计数法 & 对R中使用科学技术法表示的数据"取消科学计数法"以后,得到的值和原来的值会不一样. 需求背景 分析留存数据时,数据库底表的字段是一个 ...

  3. c语言科学计数法_C入门:C语言中数据的储存(上)

    How Data is stored in computer memory? 储存数据是计算机进行各种数据操作的基础,为了理解计算机可以对哪些数据进行怎样的操作,有必要了解数据在计算机中的储存方式. ...

  4. 轻松一招,解决go语言科学计数法导致交易数据掐尖的问题

    开发区块链时,遇到以下问题,明明交易了5.005e+18数量的代币,结果最后只交易5个 查看以太坊浏览器,数据如下 苦思冥想,应该是数据转换出了问题 balance, _ := strconv.Par ...

  5. R语言绘图patchwork拼图详解快速实现组合图拼接

    pdf教程下载 此文内容来自微信公众号:R语言搬运工,扫码关注公众号浏览更多精彩内容** 我们在实际科研绘图或者写报告的时候,往往会同时出多幅统计图,如何将他们拼在一起是即将或者正在面临的问题.R语言 ...

  6. R语言文本挖掘tm包详解(附代码实现)

    文本挖掘相关介绍 1什么是文本挖掘 2NLP 3 分词 4 OCR 5 常用算法 6 文本挖掘处理流程 7 相应R包简介 8 文本处理 词干化stemming snowball包 记号化Tokeniz ...

  7. R语言:ggplot2包详解及各类精美图形绘制

    文章目录 1.1 Ggplot2介绍 1.2 Ggplot2特点 默认值 迭代 高级元素 1.3 Ggplot2映射组件 layer Scale coord theme 1.4 Ggplot2自带数据 ...

  8. R语言图像处理EBImage包详解

    > 本文摘自<Keras深度学习:入门.实战及进阶>第四章部分章节. ## 什么是EBImage EBImage是R的一个扩展包,提供了用于读取.写入.处理和分析图像的通用功能,非常 ...

  9. R语言axis函数参数详解(坐标轴函数)

    首先我们来看一下函数帮助文档所给定的axis函数参数: axis(side, at = NULL, labels = TRUE, tick = TRUE, line = NA,pos = NA, ou ...

最新文章

  1. linux进程控制程序设计论文,嵌入式,linux进程控制程序设计
  2. 线程调度四(setDaemon方法的使用)
  3. android使组件居中,Android图文居中显示控件使用方法详解
  4. 计算机辅助设计受力分析,假肢接受腔的受力分析和计算机辅助设计
  5. flowable实战(一)flowable与spring boot集成
  6. docker linux 快速开窗口_技术|如何使用 Docker 快速配置数据科学开发环境?
  7. 从包中导入类的使用 java
  8. JavaScript性能优化【下】--性能优化的具体方式
  9. sqlserver 2008r2 执行代码 快捷键
  10. Eclipse用法和技巧十六:自动添加未实现方法2
  11. 管理感悟:你是产品的第一个用户
  12. js拼接json对象_JS实现合并json对象的方法
  13. 产品配件类目税目分类_商品和服务税收分类编码
  14. BCD码与十进制转换
  15. vtd和vt的区别_英语中v,vi,vt有什么区别
  16. 谭松韵被造谣ee文件与服务器,黄磊何炅心疼谭松韵被造谣!从和张子枫相处看出人品!...
  17. 5G网络与5G WiFi有什么区别
  18. iOS音视频开发七:视频采集
  19. Kubernetes更优雅的监控工具Prometheus Operator
  20. Bison for Windows

热门文章

  1. Android 关于设置Dialog大小宽高和动画详解
  2. 明明加了唯一索引,为什么还是产生重复数据?
  3. git提交忽略不必要的文件或文件夹
  4. SpringBoot使用com.alibaba.druid.filter.config.ConfigTools对数据库密码加密
  5. centos7上mycat安装_centos7 Mycat/MySQL/MariaDB安装部署
  6. Vue项目原本原本http请求变成了https
  7. Vue之引用第三方JS插件,CKPlayer使用
  8. java下载本地excel文件
  9. txtv28pw河南某中学_河南省新乡市某中学2020届高三阶段性考试物理试卷
  10. 模取幂运算 计算a^b mod n