Это не вопрос о R, а вопрос о представлении с плавающей запятой. Нормальные удваиваются с точностью до 15 или 16 десятичных цифр. Однако наименьшее нормальное двойное равен 2^-1022, или 2.225074e-308. Значения меньше, чем это можно представить двойниками, но вы начинаете терять точность, потому что значение будет дополнено нулями. Так, например, 1e-320 будет точным только до 3 или 4 десятичных цифр, так как оно примерно в 10-12 раз меньше min_double.
См: https://en.wikipedia.org/wiki/Denormal_number
Значения максимальной и минимальной двойной и машинной эпсилон хранятся в R, как .Machine
. На моем компьютере:
> .Machine
$double.eps
[1] 2.220446e-16
$double.neg.eps
[1] 1.110223e-16
$double.xmin
[1] 2.225074e-308
$double.xmax
[1] 1.797693e+308
$double.base
[1] 2
$double.digits
[1] 53
$double.rounding
[1] 5
$double.guard
[1] 0
$double.ulp.digits
[1] -52
$double.neg.ulp.digits
[1] -53
$double.exponent
[1] 11
$double.min.exp
[1] -1022
$double.max.exp
[1] 1024
$integer.max
[1] 2147483647
$sizeof.long
[1] 8
$sizeof.longlong
[1] 8
$sizeof.longdouble
[1] 16
$sizeof.pointer
[1] 8
Точная по сравнению с чем? Компьютеры не имеют бесконечного уровня точности. Важно понимать пределы [арифметики с плавающей запятой] (http://stackoverflow.com/questions/9508518/why-are-these-numbers-not-equal). Но трудно говорить о точности, когда непонятно, какое «истинное» значение вы пытаетесь вычислить. – MrFlick
Вопросы, которые были заданы раньше, как [Работа с очень маленькими номерами в R] (http://stackoverflow.com/questions/5802592/dealing-with-very-small-numbers-in-r) и [Обработка чрезвычайно малых номеров ] (http://stackoverflow.com/questions/26513029/handling-extremely-small-numbers) есть рекомендации, такие как 'Rmpfr',' gmp' и 'Brobdingnag'. Прошу продемонстрировать усилия, исследуя эти варианты. –
Если это оценки параметров, то они фактически равны нулю, и это было бы так, если бы мощность 10 была даже такой же низкой, как -16. Понятие «точность до 15 мест» исходит из вопросов распространения ошибок при умножении чисел с плавающей запятой. Он также выходит за пределы допустимых значений для 'double'-класса в R, который указан на его странице справки как 2e-308 до 2e + 308. Поэтому я думаю, что «неточно» - вероятный ответ. –