У меня проблема, когда отображаемая точность числового результата иногда возвращается к округленному целочисленному формату. Например, в некоторые дни простой расчет, подобный этому, дает ожидаемый результат с десятичной точностью:
> x <- 344.5 - .25
> x
[1] 344.25
Но потом я могу вернуться в другой день, попробовать еще раз и получить:
> 344.5 - .25
> x
[1] 344
Я проверил путем вычитания терминов, что скрытая точность все еще существует: например, он может отображать 344, но значение 344,25 все еще содержится в переменной.
Я не могу понять, что меняется (или как это контролировать), чтобы он всегда оставался в одном направлении, желательно с некоторой отображаемой точностью справа от десятичной точки.
> getOption("digits") [1] 3
Другими словами, это 3
Вот твоя проблема. Установите его по умолчанию 7 с помощью options(digits = 7)
Понятно. Спасибо! (Есть идеи, что его сбрасывает? Я что-то думаю в RStudio при запуске ...
И если такая настройка меняется в разное время, я думаю, это может означать, что у вас где-то есть файл .Rprofile
, который меняет настройку?
Спасибо, Мариус. Я займусь этим.
Я думаю, вы можете увидеть, существует ли этот файл с file.exists(".Rprofile")
У меня есть FALSE
, наверное, лучше создать его!
Как вы указали в комментариях, у вас есть значение getOption("digits")
, равное 3.
options(digits = 3)
344.5 - 0.25
# [1] 344
Сброс параметра digits
на значение по умолчанию 7 даст вам то, что вы хотите.
options(digits = 7)
344.5 - 0.25
# [1] 344.25
Вы можете прочитать больше об опциях в help(options)
.
В чем ценность
getOption("digits")
?