为什么函数返回值t = 13.214
,而print(..., digits = 3)
返回值t = 10
?
vals <- data.frame(a = c(4, 2, 4, 7, 3, 4, 8, 8, 3, 0, 1, 5, 4, 6, 4, 8, 7, 9, 6, 6, 3, 6, 7, 4),
b = c(5, 7, 6, 13, 12, 6, 14, 16, 4, 2, 7, 7, 4, 8, 9, 9, 11, 13, 12, 8, 3, 8, 7, 7))
stats::t.test(x = vals)
# One Sample t-test
# data: vals
# t = 13.214, df = 47, p-value < 2.2e-16
# alternative hypothesis: true mean is not equal to 0
# 95 percent confidence interval:
# 5.598761 7.609572
# sample estimates:
# mean of x
# 6.604167
print(stats::t.test(x = vals), digits = 3)
表格?print
:
digits:最小有效数字,请参阅print.default。
但这不应该将10更改为13吗?
打包“统计信息”版本3.5.1
R.version
平台x86_64-w64-mingw32
拱形x86_64
os mingw32
系统x86_64,mingw32
状态
专业3
次要5.1
2018年
第07个月
第二天
svn版本74947
语言R
version.string R版本3.5.1(2018-07-02)
昵称Feather Spray
答案 0 :(得分:2)
回答这些问题的第一步始终是弄清楚我们正在处理哪种打印方法。 ?print
中的一般帮助不一定非常相关。 t.test对象的类为htest
,因此我们想看看print.htest
。
请注意,?print.htest
会将您带到稍微更具体的文档页面。 digits
的文档中没有具体说明,但是在“详细信息”部分中,我们看到:
传统上,这两种打印方法都没有遵循digits参数 正确地。他们现在这样做了,htest方法主要用于类似 max(1,digits-2)。
(在R 3.5.2中)
例如,在功能代码中,我们看到以下内容:
out <- c(out, paste(names(x$statistic), "=", format(signif(x$statistic,
max(1L, digits - 2L)))))
digits
的默认值通常为7。它使用digits
打印样本估计值和置信区间,而其他数量则使用更少的数字。