Есть ли способ хранить большое число точно в R?
double сохраняется как двоичная дробь, и его точность зависит от значения, а integer имеет ограниченный диапазон 4 байта.
Что если я хочу точно хранить очень большое число?
Вы можете попробовать класс bigz из пакета gmp:
bigz
gmp
> library("gmp") > 2^10000 [1] Inf > 2^(as.bigz(10000)) [1] "199506.... and a LOT of more numbers!
Он в основном хранит число в виде строки и, таким образом, избегает целочисленных / двойных пределов.
Это зависит от того, что вы подразумеваете под большим числом :
Если вы хотите, чтобы числа находились над верхним пределом арифметики двойной точности, есть Brobdingnag пакет
Если вы хотите большей точности, есть пакеты gmp и связанные с ними Rmpfr .