Мне интересно узнать, почему as.character (5.0) возвращает 5
Ключевое слово здесь "возвращает ". Что ты имеешь в виду? Обратите внимание, что ввод этого в консоли дает вам 5:
> 5.0
[1] 5
5 - это то же самое, что и 5.0 для целей расчета. Так что вы, вероятно, действительно заботитесь о том, как 5 печатается . Таким образом, вам нужно использовать метод Джорана или функцию типа sprintf
.