问题描述
我正在运行代码以生成输出,我希望所有输出以小数点后一位来打印。但是,代码使用的是我通常使用的函数,我不想在这些函数中指定打印输出是四舍五入的。
I am running code to produce outputs where I want all the outputs to be printed with 1 decimal place. However the code uses functions which I use generally and I don't want to specify within these that the printed output is rounded.
此问题的答案建议使用 options(digits = 2)
或 round(x,digits = 2)
。
The answers to this question Formatting Decimal places in R suggest using options(digits=2)
or round(x, digits=2)
.
第一个选项是常规设置非常适合将 1.234
舍入为 1.2
,但是会打印 12.345
如 12
The first option is a general setting which is great for rounding 1.234
to 1.2
but would print 12.345
as 12
第二个选项如果放在函数中会起作用,但我不想碰它们。一般如何设置?
The second option would work if put within the function but I don't want to touch them. How to set this generally?
推荐答案
您可以执行以下操作:
print <- function(x, ...) {
if (is.numeric(x)) base::print(round(x, digits=2), ...)
else base::print(x, ...)
}
这篇关于设置打印的默认小数位数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!