小数打印的设置默认号码(Setting default number of decimal plac

2019-06-25 20:04发布

我运行的代码生成,我想印有1位小数所有输出输出。 然而代码使用,我一般用的功能,我不希望在这些的打印输出四舍五入指定。

对这个问题的回答中的R格式小数位建议使用options(digits=2)round(x, digits=2)

第一种选择是这是伟大的四舍五入一般设置1.2341.2 ,但将打印12.34512

第二个选择是工作,如果把函数内的,但我不想去碰它们。 如何设置这个一般?

Answer 1:

你可以这样做:

print <- function(x, ...) {
    if (is.numeric(x)) base::print(round(x, digits=2), ...) 
    else base::print(x, ...)
}


Answer 2:

我喜欢formatC与小数位的指定数量的打印数量。 这样一来, 1应该总是打印为"1.0"时, digits = 1format = "f" 。 您可以创建类数字的对象,如下面的S3的打印方法:

print.numeric<-function(x, digits = 1) formatC(x, digits = digits, format = "f")

print(1)
# [1] "1.0"

print(12.4)
# [1] "12.4"

print(c(1,4,6.987))
# [1] "1.0" "4.0" "7.0"

print(c(1,4,6.987), digits = 3)
# [1] "1.000" "4.000" "6.987"


文章来源: Setting default number of decimal places for printing
标签: r decimal