系统要求我使用t.test()
函数来计算测试统计量,但是我需要减少I类错误。我的教授向我们展示了如何更改此功能的置信度,但没有为零假设检验提供可接受的I型错误。目标是使参数根据.01错误率而非正常的.05自动计算p值。
下面的r代码涉及我已下载的数据集。
t.test(mid$log_radius_area, mu=8.456)
答案 0 :(得分:0)
我觉得我已经在某个地方回答了这个问题,但似乎无法在SO或CrossValidated上找到它。
与this question类似,答案是t.test()
没有为拒绝/失败拒绝无效假设指定任何个阈值;它报告一个p值,您可以决定是否拒绝。 (conf.level
参数用于调整输出报告的置信区间。)
来自?t.test
:
t.test(1:10, y = c(7:20))
Welch Two Sample t-test
data: 1:10 and c(7:20)
t = -5.4349, df = 21.982, p-value = 1.855e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-11.052802 -4.947198
sample estimates:
mean of x mean of y
5.5 13.5
此处p值报告为1.855e-05,因此对于任何(预先指定)alpha级别> 1.855e-05而言,原假设将被拒绝。请注意,输出不会在任何地方说“零假设在alpha = 0.05时被拒绝”或类似的东西。您可以使用保存在测试结果中的$p.value
元素来编写自己的函数来做到这一点:
report_test <- function(tt, alpha=0.05) {
cat("the null hypothesis is ")
if (tt$p.value > alpha) {
cat("**NOT** ")
}
cat("rejected at alpha=",alpha,"\n")
}
tt <- t.test(1:10, y = c(7:20))
report_test(tt)
## the null hypothesis is rejected at alpha= 0.05
大多数R包/函数编写者都不想这样做,因为他们认为对于用户来说,这样做应该足够简单。