【问题标题】:using scientific notation in R在 R 中使用科学记数法
【发布时间】:2013-04-27 17:11:51
【问题描述】:

我目前正在使用printCoefmat 打印一个矩阵并希望对数字应用一些格式。

当数字的指数大于 3 时,我想强制使用科学记数法。 我不太明白scipen 是如何工作的,有人知道我该怎么做吗?

【问题讨论】:

  • options("scipen") 可能就是你要找的东西

标签: r format


【解决方案1】:

只需输入一个大数字即可让 R 显示不科学的符号。

options( scipen = 20 )

如果这还不够,请将数字变大...

scipen 惩罚是如何起作用的?

这令人困惑,但 penalty 应用于科学记数法版本,因为在 R 中查看打印特定字符串需要多少个字符。它将值scipen 惩罚添加到科学计数法中的字符数,如果它仍然小于打印实际数字所需的字符数,那么它将打印科学计数法,反之亦然。我希望这个例子能说明这一点:

options( scipen = 0 )
options( digits = 6 )
>1e5
#[1] 1e+05    ----> 5 characters in scientific, vs. 6 for '100000' in normal
>1e4
#[1] 10000    ----> 5 characters in normal, vs. 5 for '1e+04' in scientific
options(scipen = 1 )
>1e5
#[1] 100000    ----> 6 characters in normal, vs. 5 + 1 for '1e+05' + scipen penalty in scientific

【讨论】:

  • 不是反过来吗?文档指出“整数。在决定以固定或指数表示法打印数值时要应用的惩罚。正值偏向固定,负向科学记数法:除非它比 scipen 数字更宽,否则将首选固定记数法。”
  • 但是我知道这个选项,只是不太知道如何使用它。有惩罚,但惩罚什么?它决定做什么的临界值在哪里?
  • @Phyx 我已经添加了解释。 Heopfully 这为您解决了问题。
猜你喜欢
  • 2021-05-01
  • 2022-01-15
  • 2013-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多