使用print.data.frame
而不是print
在调整数字之后option
.
options(digits = 3) print.data.frame(my_tbl) Species Sepal.Length Sepal.Width Petal.Length Petal.Width setosa 3.09e+26 2.12e+26 9.02e+25 1.52e+25 versicolor 3.66e+26 1.71e+26 2.63e+26 8.18e+25 virginica 4.07e+26 1.84e+26 3.43e+26 1.25e+26
您可以重写dplyr:::print.tbl_df
以包含signif
参数.
print.tbl_df <- function (x, ..., signif = 3, n = NULL, width = NULL) { nums <- vapply(x, is.numeric, NA) x[nums] <- lapply(x[nums], signif, digits = signif) cat("Source: local data frame ", dim_desc(x), "\n", sep = "") cat("\n") print(trunc_mat(x, n = n, width = width)) invisible(x) } my_tbl <- iris %>% group_by(Species) %>% summarise_each(funs((sum(.*12345e20))))
现在任何tbl_df
打印的默认有效数字为3.
my_tbl # Source: local data frame [3 x 5] # # Species Sepal.Length Sepal.Width Petal.Length Petal.Width # (fctr) (dbl) (dbl) (dbl) (dbl) # 1 setosa 3.09e+26 2.12e+26 9.02e+25 1.52e+25 # 2 versicolor 3.66e+26 1.71e+26 2.63e+26 8.18e+25 # 3 virginica 4.07e+26 1.84e+26 3.43e+26 1.25e+26
要使用其他有效数字打印,我们可以使用print()
.
print(my_tbl, signif = 5) # Source: local data frame [3 x 5] # # Species Sepal.Length Sepal.Width Petal.Length Petal.Width # (fctr) (dbl) (dbl) (dbl) (dbl) # 1 setosa 3.0900e+26 2.1159e+26 9.0242e+25 1.5184e+25 # 2 versicolor 3.6640e+26 1.7098e+26 2.6295e+26 8.1847e+25 # 3 virginica 4.0664e+26 1.8357e+26 3.4270e+26 1.2505e+26