gpt4 book ai didi

r - 为什么 R 打印中的 'digits' 参数会改变一个值?

转载 作者:行者123 更新时间:2023-12-04 09:35:04 25 4
gpt4 key购买 nike

为什么函数返回值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: minimal number of significant digits, see print.default.



但这不应该把10改成13吗?

包 ‘stats’ 版本 3.5.1
R.version
平台 x86_64-w64-mingw32
拱形 x86_64
操作系统 mingw32
系统 x86_64,mingw32
地位
专业 3
次要 5.1
2018年
07月
第02天
SVN 修订版 74947
语言R
version.string R 版本 3.5.1 (2018-07-02)
昵称 羽毛喷雾

最佳答案

回答这些问题的第一步总是要弄清楚我们正在处理哪种打印方法。 ?print 中的通用帮助不一定非常相关。 t.test 对象具有类 htest ,所以我们要查看 print.htest .

请注意 ?print.htest将您发送到稍微更具体的文档页面。 digits 的文档没有说任何具体的东西,但是在详细信息部分我们看到:

Both print methods traditionally have not obeyed the digits argument properly. They now do, the htest method mostly in expressions like 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用于打印样本估计值和置信区间,但其他数量的位数较少。

关于r - 为什么 R 打印中的 'digits' 参数会改变一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56061887/

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