如何强制R不使用指数表示法(例如e+10)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我可以强迫R使用规则数字而不是使用“e+10”之类的符号。我有

1.810032e+09
# and 
4

在同一向量内,并希望看到:

1810032000
# and
4

我正在为一个老式的程序创建输出,我必须使用cat编写一个文本文件。到目前为止,这还不错,但我只是不能在那里使用e+10符号。

提问于
用户回答回答于

R总是会调用print方法,而这些打印方法会听取一些选项。包括“scipen”

例子:

R> ran2 <- c(1.810032e+09, 4) 
R> options("scipen"=-100, "digits"=4)
R> ran2
[1] 1.81e+09 4.00e+00
R> options("scipen"=100, "digits"=4)
R> ran2
[1] 1810032000          4

最好的方法是使用sprintf()显式宽度。

用户回答回答于

它可以通过禁用R中的科学符号来实现。

options(scipen = 999)

扫码关注云+社区