gpt4 book ai didi

r - 停止打印大量零(不是科学计数法)

转载 作者:行者123 更新时间:2023-12-03 20:20:15 26 4
gpt4 key购买 nike

我想要实现的是最大显示所有打印的数字 7数字。以下是我想要打印的示例:

0.000000 (versus the actual number which is 0.000000000029481.....)

0.299180 (versus the actual number which is 0.299180291884922.....)


我使用 options(scipen=99999) 成功处理了后一种类型的数字和 options(digits=6) .但是,前一个示例将始终打印大量零,后跟五个非零数字。 我如何阻止这种情况发生并达到我想要的结果 ?我也不想要科学记数法。
我希望这适用于每个上下文中的所有打印数字。例如,如果我有一些矩阵,称之为 A ,我打印这个矩阵,我希望每个元素都是 6-7 位数字。我希望这对于每个上下文中的每个打印都是自动的;就像使用 options(digits=6)options(scipen=99999)使其在每个上下文中都是自动的。

最佳答案

您可以为要打印的类型定义新的打印方法。例如,如果您的所有数字都是 double ,您可以创建

print.double=function(x){sprintf("%.6f", x)}

现在,当您打印 double (或 double 向量)时,函数 print.double()将被调用而不是 print.default() .

您可能需要创建类似的函数 print.integer() , print.complex()等,具体取决于您需要打印的类型。

要返回默认打印方法,只需删除函数 print.double() .

关于r - 停止打印大量零(不是科学计数法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com