Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R错误地存储了大量数据_R - Fatal编程技术网

R错误地存储了大量数据

R错误地存储了大量数据,r,R,我试图在R Studio中开发一个程序,它需要用户输入任何他们想要的数字,甚至可以是巨大的数字。 所以我试着给出随机数,但遇到了一个问题。 当我每次输入一个巨大的数字时,R显示不正确。 我重新启动了R会话。。但问题依然存在。请帮忙。下面是我遇到的问题的快照 您已经超过了用R的整数(32位有符号)表示的数据量:−2147483648至2147483647。根据Ben Bolker下面的评论,可以使用bit64包扩展到64位)。这将使您的范围从-9223372036854775808扩展到92233

我试图在R Studio中开发一个程序,它需要用户输入任何他们想要的数字,甚至可以是巨大的数字。 所以我试着给出随机数,但遇到了一个问题。 当我每次输入一个巨大的数字时,R显示不正确。 我重新启动了R会话。。但问题依然存在。请帮忙。下面是我遇到的问题的快照


您已经超过了用R的整数(32位有符号)表示的数据量:−2147483648至2147483647。根据Ben Bolker下面的评论,可以使用
bit64
包扩展到64位)。这将使您的范围从-9223372036854775808扩展到9223372036854775807

如果您需要更高的精度,请尝试
gmp
库。请注意,整数以字符形式显示,以避免在处理之前对数字进行四舍五入的精度影响

options(scipen=99)
a1 <- 123456789123456789123456789
a1
[1] 123456789123456791346468826
a1 - (a1 -1)
[1] 0

# now using arbitrary-precision (big) numbers
library(gmp)
b1 <- as.bigz("123456789123456789123456789")
b1
Big Integer ('bigz') :
[1] 123456789123456789123456789

b1 - (b1 -1)
Big Integer ('bigz') :
[1] 1
选项(scipen=99)

a1您可能超出了此处数字/整数类型的精度。问:你真的需要担心几十亿/万亿的数字的十位精度吗?这是否回答了你的问题?我试图写一个程序,将数字转换成它的单词表示形式。因此,如果输入数字发生变化,它将不正确地显示单词表示。此外,如果您可以看到输入,则输出数字的位数与输入数字的位数相同,但数字不正确。回答正确,尽管base-R整数只有31位(和1个符号位):
。Machine$integer.max
为2^31-1。有一个支持64位整数的
bit64
包(但正如您所指出的,这远远超出了该范围)。