Я пытаюсь отформатировать числа таким образом, чтобы они имели фиксированную ширину, и были нужны начальные нули. После этого этого ответа на связанный вопрос я использую функцию formatC
для достижения этой цели. Но я получаю неожиданные результаты.
Например, этот код работает должным образом:
formatC(2102040015, format = "d", width = 10, flag = "0")
## [1] "2102040015"
formatC(102040015, format = "d", width = 10, flag = "0")
## [1] "0102040015"
Но когда я пытаюсь использовать тот же самый подход с этими числами, я получаю странный результат:
formatC(2152040015, format = "d", width = 10, flag = "0")
## Warning message:
## In storage.mode(x) <- "integer" :
## NAs introduced by coercion to integer range
## [1] " NA"
formatC(2522040015, format = "d", width = 10, flag = "0")
## Warning message:
## In storage.mode(x) <- "integer" :
## NAs introduced by coercion to integer range
## [1] " NA"
После некоторого тестирования я пришел к выводу, что для каждого числа, большего чем 2150000000
, я получаю это сообщение и результат " NA"
. Я был бы признателен, если бы вы дали мне понимание этого поведения. Заранее спасибо!