Если вы действительно хотите округлить все числовые столбцы, кроме столбца p.value
, просто убедитесь, что столбец p.value
не округляется, если его принудительно привести к символу перед округлением, а затем вернуться к числовое после округления.
library(dplyr)
library(broom)
a <- rnorm(100, 0.75, 0.1)
t.test <- t.test(a, mu = 0.5, alternative = "greater") %>%
broom::tidy() %>%
mutate(p.value = as.character(p.value)) %>%
mutate_if(is.numeric, round, 2) %>%
mutate(p.value = as.numeric(p.value))
t.test
# A tibble: 1 x 8
estimate statistic p.value parameter conf.low conf.high method alternative
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
1 0.76 28.3 1.52e-49 99 0.74 Inf One Sample t-test greater
Если вы просто хотите округлить некоторые столбцы , тогда вам, вероятно, будет лучше использовать mutate_at
, поскольку @ user5249203 продвигает.