我正在运行代码以生成输出,我希望所有输出都打印为1位小数。然而,代码使用我通常使用的函数,我不想在这些中指定打印输出是舍入的。设置打印的默认小数位数
这个问题的答案Formatting Decimal places in R建议使用options(digits=2)
或round(x, digits=2)
。
第一种选择是这是伟大的四舍五入1.234
到1.2
而是将打印12.345
为12
如果把函数内的,但我不想去碰它们,第二种选择将工作的一般设置。如何设置这一般?
我正在运行代码以生成输出,我希望所有输出都打印为1位小数。然而,代码使用我通常使用的函数,我不想在这些中指定打印输出是舍入的。设置打印的默认小数位数
这个问题的答案Formatting Decimal places in R建议使用options(digits=2)
或round(x, digits=2)
。
第一种选择是这是伟大的四舍五入1.234
到1.2
而是将打印12.345
为12
如果把函数内的,但我不想去碰它们,第二种选择将工作的一般设置。如何设置这一般?
你可以这样做:
print <- function(x, ...) {
if (is.numeric(x)) base::print(round(x, digits=2), ...)
else base::print(x, ...)
}
我喜欢formatC
与小数位的指定数量的打印数量。这样,当digits = 1
和format = "f"
时,1
应始终打印为"1.0"
。您可以为类数字的对象创建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"
感谢您的建议。在尝试此我到达相同的问题设置选项(位数= 2) - '#load打印功能 X < - 12.34 Z =打印(X) [1] 12' - 有什么我”失踪了? – BuckyOH
您是否已将“数字”选项重置为其默认值?在新的会议中再次尝试。 –
那真是令人尴尬,现在似乎工作。谢谢。 – BuckyOH