2013-05-21 3 views

ответ

5

Если вы даете R целое число больше:

> .Machine$integer.max 
[1] 2147483647 

Он преобразует его в два раза. R-FAQ has 7.31. Вопросы, связанные с точностью с плавающей точкой, встречаются обычно на SO: Controlling number of decimal digits in print output in R

(Размер векторных индексов был увеличен с последней версией R (3.0.0), и представляется возможным, что максимальный размер для целого числа может быть расширен в в будущем. Я не совсем понимаю, как мы можем сохранить ограничение на размеры целых чисел, а также индексы вектора доступа, которые больше.)

4

Это не 32-разрядное целое число.

R> as.integer(4444444444444444444) 
[1] NA 
Warning message: 
NAs introduced by coercion 

Это число с плавающей запятой двойной точности, которое имеет только 15-16 мест точности. Вышеуказанное не работает, потому что число больше .Machine$integer.max. Ошибка ...672. Если вам нужно использовать большие номера, рассмотрите такие пакеты, как gmp.

Смежные вопросы