Как использовать функцию sprintf в R для печати форматированных строк


Вы можете использовать функцию sprintf() в R для печати форматированных строк.

Эта функция использует следующий базовый синтаксис:

спринтф (фмт, х)

куда:

  • fmt : формат для использования
  • x : значение для форматирования

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1: форматирование цифр после запятой

Следующий код показывает, как использовать sprintf() для отображения только двух цифр после запятой:

#define value
x <- 15.49347782

#only display 2 digits after decimal place
sprintf(" %.2f", x)

[1] "15.49"

Пример 2. Форматирование цифр до десятичной точки

В следующем коде показано, как использовать sprintf() для отображения десяти цифр перед запятой:

#define value
x <- 15435.4

#display 10 total digits before decimal place
sprintf(" %10.f", x)

[1] " 15435"

Поскольку для начала было только пять цифр перед десятичной точкой, функция sprintf() добавила еще пять пробелов в начале строки, чтобы получить в общей сложности 10 цифр до десятичной точки.

Пример 3: форматирование значения с использованием экспоненциальной записи

В следующем коде показано, как использовать sprintf() для отображения значения в экспоненциальном представлении:

#define value
x <- 15435.4

#display in scientific notation using lowercase e
sprintf(" %e", x)

[1] "1.543540e+04"

#display in scientific notation using uppercase E
sprintf(" %E", x)

[1] "1.543540E+04"

Пример 4: форматирование одного значения в строке

В следующем коде показано, как использовать sprintf() для форматирования значения в строке:

#define value
x <- 5.4431

#display string with formatted value
sprintf(" I rode my bike about %.1f miles", x)

[1] "I rode my bike about 5.4 miles"

Пример 5: форматирование нескольких значений в строке

В следующем коде показано, как использовать sprintf() для форматирования нескольких значений в строке:

#define values
x1 <- 5.4431
x2 <- 10.778342

#display string with formatted values
sprintf(" I rode my bike %.1f miles and then ran %.2f miles", x1, x2)

[1] "I rode my bike 5.4 miles and then ran 10.78 miles"

Дополнительные ресурсы

В следующих руководствах объясняется, как использовать другие распространенные функции в R:

Как использовать функции paste & paste0 в R
Как использовать функцию replace() в R
Как использовать функцию View() в R