假设你有正常的数据,想知道它们是否与H0:μ=50或者是否拒绝H0有利于
Ha:μ>50.x大小样本n=20有意思X¯=51.25,
和标准差S=2.954.
所以样本均值大于50.问题是它是否
足够大于50在统计意义上说它明显大于 50,因此H0应该在 5% 的水平上被拒绝。
sort(x)
[1] 47 47 48 49 49 49 50 50 50 50
[11] 51 51 52 53 53 54 54 54 56 58
mean(x); sd(x)
[1] 51.25
[1] 2.953588
在下图中,值为X¯显示为垂直虚线。
stripchart(x, meth="stack", pch=19)
abline(v = 50, col="green2")
abline(v = mean(x), col="blue", lwd=2, lty="dotted")

在测试中,测试统计量T=X¯−50S/n√=1.89
考虑到数据的可变性。临界值c=1.729
的 t 检验从 DF = 19 自由度的学生 t 分布的上尾削减概率 5%。我们拒绝H0在 5% 的显着性水平,如果T≥c=1.729.所以我们确实拒绝H0.
qt(.95, 19)
[1] 1.729133
在 R 中,一个正式的 t 检验H0反对Ha给出以下输出。
t.test(x, mu = 50, alt="g")
One Sample t-test
data: x
t = 1.8927, df = 19, p-value = 0.03687
alternative hypothesis: true mean is greater than 50
95 percent confidence interval:
50.10801 Inf
sample estimates:
mean of x
51.25
请注意,没有提到临界值c.相反,我们有 P 值0.037.这是 t 统计量超过观察值的概率T=1.8927.
1 - pt(1.8927, 19)
[1] 0.03686703
下图中垂直红线为5%临界值c;这条线右边的密度曲线下的面积是0.05.黑色虚线表示 t 统计量的值;这条线右边的密度曲线下的面积就是P值。

图的R代码:
curve(dt(x, 19), -3.5, 3.5, ylab="PDF", xlab="t",
main="Density of T(19)")
abline(h = 0, col="green2")
abline(v = 0, col="green2")
abline(v = 1.729, col="red")
abline(v = 1.8927, lty="dotted", lwd=2)
以下是关于使用 P 值而不是临界值的一些评论:
根据比观察值更极端或更极端的值来计算 P 值是有意义的。如果你愿意拒绝H0为了
X¯=51.25(t 统计 1.8927),那么您肯定也会拒绝更极端的值,例如X¯=53.11.
如果T≥c,5% 临界值,则 P 值小于 5%。因此,使用 P 值来决定是否拒绝与使用临界值一样容易。
如果有人想在 4% 的水平而不是 5% 的水平上进行测试,那么结果就是拒绝,因为 P 值也小于 4%。相比之下,如果有人想在 1% 的水平上进行测试,那么H0不会因为 P 值超过 1% 而被拒绝。(请注意,没有必要“告诉”软件您想到的显着性水平;P 值可以使用任何所需的显着性水平。)
对于通常的显着性水平,例如 10%、5%、2%、1%、0.1%,您可以从大多数打印的 t 分布表中获得匹配的临界值。但是,通常无法从打印的表格中获得准确的 P 值。P 值是“计算机时代”值。
我的例子是一种片面的选择。如果您使用的是双边替代方案,那么您必须考虑在任一方向上出现更极端值的概率。通常,对于双边测试,P 值会加倍。
注意:我的示例中的假数据是使用 R 采样的,如下所示:
set.seed(316)
x = round(rnorm(20, 52, 3))