Чтобы контролировать количество цифр при печати вывода, установите для аргумента digits
значение kable()
.
Чтобы контролировать точность фактических чисел, пользователь round()
.
Вот воспроизводимый пример.
library(dplyr)
library(knitr)
mdl <- lm(dist ~ speed, data = cars)
explanatory_data <- data.frame(
speed = seq(0, 100, 10)
)
predictions <- explanatory_data %>%
mutate(
dist = predict(mdl, explanatory_data)
)
По умолчанию kable()
печатает столько цифр, сколько getOption("digits")
.
predictions %>%
kable()
| speed| dist|
|-----:|---------:|
| 0| -17.57909|
| 10| 21.74499|
| 20| 61.06908|
| 30| 100.39317|
| 40| 139.71726|
| 50| 179.04134|
| 60| 218.36543|
| 70| 257.68952|
| 80| 297.01361|
| 90| 336.33769|
| 100| 375.66178|
Измените это с помощью аргумента digits
.
predictions %>%
kable(digits = 2)
| speed| dist|
|-----:|------:|
| 0| -17.58|
| 10| 21.74|
| 20| 61.07|
| 30| 100.39|
| 40| 139.72|
| 50| 179.04|
| 60| 218.37|
| 70| 257.69|
| 80| 297.01|
| 90| 336.34|
| 100| 375.66|
Это не меняет базовый номер. Вы можете изменить точность с помощью round()
(но обычно это плохая идея, поскольку дальнейшие вычисления будут менее точными).
predictions %>%
mutate(rounded_dist = round(dist, 2))
speed dist rounded_dist
1 0 -17.57909 -17.58
2 10 21.74499 21.74
3 20 61.06908 61.07
4 30 100.39317 100.39
5 40 139.71726 139.72
6 50 179.04134 179.04
7 60 218.36543 218.37
8 70 257.68952 257.69
9 80 297.01361 297.01
10 90 336.33769 336.34
11 100 375.66178 375.66