3 回答

TA贡献1784条经验 获得超9个赞
见help(integer):
Note that on almost all implementations of R the range of
representable integers is restricted to about +/-2*10^9: ‘double’s
can hold much larger integers exactly.
所以我建议使用numeric(即'double') - 一个双精度数字。

TA贡献1817条经验 获得超14个赞
我理解你的问题与我之前发布的两个人有点不同。
如果R的最大默认值对你来说不够大,你有几个选择(免责声明:我使用了下面提到的每个库,但不是通过R绑定,而是通过其他语言绑定或本机库)
的大人国包:使用自然日志存储值; (比如Rmpfr,使用R的新类结构实现)。我总是对那些工作需要这种规模的人印象深刻。
library(Brobdingnag)
googol <- as.brob(1e100)
的GMP包,R绑定古老的GMP(GNU多精度库)。这必须追溯到20年,因为我在大学使用它。这个图书馆的座右铭是“算术无限制”,这是一个可靠的主张 - 整数,有理数,浮点数等等,直到你盒子上RAM的极限。
library(gmp)
x = as.bigq(8000, 21)
该Rmpfr包,R绑定哪个接口都GMP(上图)和MPFR,(MPFR又一个当代实施GMP的我已经使用了Python绑定(“bigfloat”),并强烈推荐它,这可能是你最好的。考虑到它的范围,三者的选择,因为它似乎是最积极维护的,并且最终给出了最全面的文档。
注意:要使用后两者中的任何一个,您需要安装本机库,GMP和MPFR。
- 3 回答
- 0 关注
- 869 浏览
添加回答
举报