У меня есть tibble
с характеристиками, похожими на эти:
set.seed(123)
df <- tibble(
x = sample(LETTERS[1:3],10,T),
y = rdunif(10,7.5),
z = rdunif(10,7.5)
)
, что дает:
# A tibble: 10 x 3
x y z
<chr> <dbl> <dbl>
1 A 8.00 7.00
2 C 4.00 6.00
3 B 6.00 5.00
4 C 5.00 8.00
5 C 1.00 5.00
6 A 7.00 6.00
7 B 2.00 5.00
8 C 1.00 5.00
9 B 3.00 3.00
10 B 8.00 2.00
Я бы хотел округлить числовые переменные, используя mutate_if()
;Я использую этот код.
df %>%
mutate_if(is.numeric, funs(round(., 1)))
, который выдает то же, что и выше (без округления).
# A tibble: 10 x 3
x y z
<chr> <dbl> <dbl>
1 A 8.00 7.00
2 C 4.00 6.00
3 B 6.00 5.00
4 C 5.00 8.00
5 C 1.00 5.00
6 A 7.00 6.00
7 B 2.00 5.00
8 C 1.00 5.00
9 B 3.00 3.00
10 B 8.00 2.00
Я не получаю никаких предупреждений, и кажется, что код работаетхорошо.Я просто не получаю ожидаемого ответа.
ОТВЕТ
Я не задавал правильный вопрос.Я ищу, чтобы ограничить количество цифр числовых столбцов в tibble
.Я искал функцию sprintf
в baseR.
df %>%
mutate_if(is.numeric, funs(sprintf("%0.1f", .)))