Это немного серой области. Вы должны помнить, что R всегда будет вызывать метод печати, и эти методы печати прослушивают некоторые параметры. В том числе «scipen» - штраф за научный показ. От help(options)
:
'scipen': целое число. Штраф, применяемый при принятии решения о печати числовых значений в фиксированной или экспоненциальной записи. Положительные значения смещены в сторону фиксированных значений, а отрицательные - в сторону научных обозначений: предпочтительнее использовать фиксированные обозначения, если они не превышают цифры «scipen».
Пример:
R> ran2 <- c(1.810032e+09, 4)
R> options("scipen"=-100, "digits"=4)
R> ran2
[1] 1.81e+09 4.00e+00
R> options("scipen"=100, "digits"=4)
R> ran2
[1] 1810032000 4
Тем не менее, я все еще нахожу это выдумкой. Самый прямой способ - использовать sprintf()
с явной шириной, например sprintf("%.5f", ran2)
.