在R中用E显示的长整数

时间:2015-03-28 02:13:48

标签: r

长整数值用E,

表示
       7.448495e+10   6.757505e+10    7.44955e+14   

如何摆脱E以便我看到整个数字?

3 个答案:

答案 0 :(得分:5)

对于你给出的整数长度,例如,R只是读得很好,整数就在那里,它只是不会完全使用默认值打印。 要查看整数,请使用print函数中的digits参数。 e.g:

 x <- 744955224482948
 x
[1] 7.449552e+14

 print(x,digits=14)
[1] 744955224482948

答案 1 :(得分:3)

正如@jebsel所说,您可以使用带有数字参数的print来显示您的号码。但是,如果您希望自动显示这样的数字,您可以在选项中更改scipen参数:

x <- 744955224482948
x
#[1] 7.449552e+14
options(scipen=30)
x
#[1] 744955224482948

options(scipen=30)表示科学记数法版本需要比“普通”版本短30个字符以上才能成为所选择的显示方法。这个重复的问题也讨论过:Force R not to use exponential notation (e.g. e+10)?

答案 2 :(得分:3)

其他两个选项......

x <- 744955224482948

## use a 64-bit integer
bit64::as.integer64(x)
# integer64
# [1] 744955224482948

## format without scientific notation
format(x, scientific = FALSE)
# [1] "744955224482948"

## encodeString() does the same thing in this case
encodeString(x)
# [1] "744955224482948"

另请注意?print.default

中的注释
  

大量数字

     

请注意,对于较大的数字值,当前对于数字> = 16,有效位数的计算将取决于平台的sprintf()功能的内部(C库)实现。