"数字= 2"不适用于其中一个参数

时间:2015-08-14 06:52:54

标签: r printing digit

来自R Cookbook的剧本:

q <- seq(from=0,to=3,by=0.5)
tbl <- data.frame(Quant=q, Lower=pnorm(-q), Upper=pnorm(q))
print(tbl,digits=2)

结果:

  Quant Lower Upper 
1 0.0 0.5000 0.50 
2 0.5 0.3085 0.69 
3 1.0 0.1587 0.84 
4 1.5 0.0668 0.93
5 2.0 0.0228 0.98 
6 2.5 0.0062 0.99 
7 3.0 0.0013 1.00

为什么&#34;降低&#34;与众不同?

1 个答案:

答案 0 :(得分:3)

选项&#34; digits = 2&#34;确保每列的输出至少包含两个significant digits。在上面的示例中,Lower的最后一个条目是0.0013,具有两个有效(非零)数字。

例如,我们可以将选项修改为digits = 3:

> print(tbl,digits=3)
#   Quant  Lower Upper
#1   0.0 0.50000 0.500
#2   0.5 0.30854 0.691
#3   1.0 0.15866 0.841
#4   1.5 0.06681 0.933
#5   2.0 0.02275 0.977
#6   2.5 0.00621 0.994
#7   3.0 0.00135 0.999

请注意,第7行中的Lower现在有三位有效数字。该列中的其他条目也相应调整。

如果要为表中的任何数字输出包含不超过两位小数的输出,无论数字的重要性如何,您都可以使用round()函数:

> round(tbl, digits=2)
#  Quant Lower Upper
#1   0.0  0.50  0.50
#2   0.5  0.31  0.69
#3   1.0  0.16  0.84
#4   1.5  0.07  0.93
#5   2.0  0.02  0.98
#6   2.5  0.01  0.99
#7   3.0  0.00  1.00