3 回答

TA貢獻1784條經(jīng)驗 獲得超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') - 一個雙精度數(shù)字。

TA貢獻1817條經(jīng)驗 獲得超14個贊
我理解你的問題與我之前發(fā)布的兩個人有點不同。
如果R的最大默認值對你來說不夠大,你有幾個選擇(免責(zé)聲明:我使用了下面提到的每個庫,但不是通過R綁定,而是通過其他語言綁定或本機庫)
的大人國包:使用自然日志存儲值; (比如Rmpfr,使用R的新類結(jié)構(gòu)實現(xiàn))。我總是對那些工作需要這種規(guī)模的人印象深刻。
library(Brobdingnag)
googol <- as.brob(1e100)
的GMP包,R綁定古老的GMP(GNU多精度庫)。這必須追溯到20年,因為我在大學(xué)使用它。這個圖書館的座右銘是“算術(shù)無限制”,這是一個可靠的主張 - 整數(shù),有理數(shù),浮點數(shù)等等,直到你盒子上RAM的極限。
library(gmp)
x = as.bigq(8000, 21)
該Rmpfr包,R綁定哪個接口都GMP(上圖)和MPFR,(MPFR又一個當(dāng)代實施GMP的我已經(jīng)使用了Python綁定(“bigfloat”),并強烈推薦它,這可能是你最好的??紤]到它的范圍,三者的選擇,因為它似乎是最積極維護的,并且最終給出了最全面的文檔。
注意:要使用后兩者中的任何一個,您需要安裝本機庫,GMP和MPFR。
- 3 回答
- 0 關(guān)注
- 892 瀏覽
添加回答
舉報