R 中的 t 分布

t-distribution in R

我想找到 90% 置信区间的 t-value 和 17 个观察值。

在 Excel 中,我可以使用 t=T.INV.2T(.10, 16)=1.75 进行此计算,但是在 R 中我找不到获得相同结果的正确方法。

qt(p = 1-.9, df = 17-1) = -1.34

qt(p = (1-.9)/2, df = 17-1) = -1.75 # trying with two-tailed?

函数 R 执行与 Excel 中的 T.INV.2T 相同的计算是什么。

同样,我们在Excel中也有T.DIST.2T,R中的相同函数是什么?

您需要来自具有 17 - 1 = 16 自由度的 t 分布的 1 - .1 / 2 = 0.95 分位数:

qt(0.95, 16)
# [1] 1.745884

说明

Excel 将 T.INV.2T 描述为

Returns the two-tailed inverse of the Student's t-distribution

这是数学谈话中的分位数(尽管我永远不会使用术语 2 尾分位数 )。 p%分位数q定义为满足P(X <= q) >= p%.

的点

R 中,我们通过函数 qt 得到它(q 用于分位数,t 用于 t -分配)。现在我们只需要理清two-tailed inverse是什么意思。原来我们是在寻找满足P(X <= -|q| | X >= |q|) >= .1的点q。由于 t 分布是对称的,因此可以简化为 P(X >= |q|) >= .1 / 2.

您可以使用概率函数 pt:

轻松验证 R
pt(qt(0.05, 16), 16, lower.tail = TRUE) + 
pt(qt(0.95, 16), 16, lower.tail = FALSE)
# [1] 0.1

正如您猜对的那样,您可以通过估计两侧区间 (alpha/2 = 0.1/2 = 0.05)

> qt(p = 0.95, df = 16)
[1] 1.745884

所以上下区间5折。我不知道 Excel,但我猜这就是该函数的作用。

关于dist,我假设是双面CDF

pt(-1.745884, df=16, lower.tail=T) +
pt(1.745884, df=16, lower.tail=F)

等于0.09999994.