10

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

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

4

1 回答 1

15

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

options( scipen = 20 )

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

科学惩罚如何运作?

这是令人困惑的,但惩罚适用于科学记数法版本,因为在 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
于 2013-05-03T10:25:32.047 回答