【发布时间】:2015-11-29 15:34:19
【问题描述】:
在 R 中,我在数值向量上使用 min 函数,例如这个向量:
v <- c(16.22900, 16.28857, 16.47363, 16.47412, 16.00000, 16.49463, 16.27246, 16.0366, 16.49609)
但是当我应用 min 函数时,我得到了这个返回值
min(v)
[1] 16
相反,我想要这样的结果:
[1] 16.00000
我检查了向量的类别,但一切似乎都正常
class(v)
[1] "numeric"
问题出在哪里?
【问题讨论】:
-
我不知道这是否有问题,但 R 不显示尾随零。如果是出于输出/打印原因,您可以尝试
sprintf("%.5f", min(v))。可能是多余的,但这会产生一个字符串。 -
不幸的是,我需要那些尾随零来进行一些高精度计算,而不是用于打印。
-
你误会了。 16.0000 仍然与 16.0 相同。
-
它们还在,只是没有显示。
16*0.12345产生 1.9752,16.0000*0.12345产生相同的结果。 -
min() 返回正确的结果。您想要的结果在某种程度上取决于您没有向我们展示的内容。 R(没有任何附加包)不是任意精度计算器。
标签: r decimal precision min numeric