Вывести целочисленный вектор в виде десятичного числа

#r

#r

Вопрос:

Если вы объявите числовой вектор со смесью десятичных и целых значений и распечатаете его, все они преобразуются в десятичное число.

 s <- c(0, 1.1, 2, 3)
print(s)
[1] 0.0 1.1 2.0 3.0
  

но если вы используете cat вместо print, каждое число форматируется в соответствии со своим типом.

 cat(s, sep=" ")
0 1.1 2 3 
  

Как вы можете распечатать числовой вектор с помощью cat, но преобразовать значения в десятичные числа, как это делает print?

Лучшие

Ответ №1:

например:

 > cat(sprintf("%.01f", s))
0.0 1.1 2.0 3.0
  

Ответ №2:

Вы можете использовать формат:

 cat(format(s,digits=2))
  

Комментарии:

1. Это больше не будет работать для целочисленных векторов, вместо этого используйте cat(format(s, nsmall = 2))