R中的t分布

6

我想要找到在17个观察值下90%置信区间的t值

在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 # 尝试双尾?

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

类似地,在Excel中我们也有T.DIST.2T函数,那么在R中相应的函数是什么?

2个回答

9

您需要从自由度为17 - 1 = 16的t-分布中获取1 - .1 / 2 = 0.95分位数:

qt(0.95, 16)
# [1] 1.745884

解释

Excel中的T.INV.2T描述为

返回学生 t-分布的双尾逆函数

在数学术语中,这是分位数(尽管我从不使用术语双尾分位数)。 p% 分位数 q 定义为满足 P(X <= q) >= p% 的点。

R中,我们可以使用函数qtq表示分位数,t表示t-分布)来获取此值。现在我们只需要弄清楚什么是双尾逆函数。原来我们正在寻找满足P(X <= -|q| | X >= |q|) >= .1的点q。由于t-分布是对称的,因此简化为P(X >= |q|) >= .1 / 2

您可以使用概率函数ptR中轻松验证这一点:

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

感谢您的出色回答,我有一个问题的补充,如果我们现在假设我们知道t值(在这种情况下为1.75)和观测数量(16)- 我们如何得到CI?我尝试了pt(t_value, 16),但是我得到的是95%。 - Michael
我猜这个值是1 - (pt(qt(0.05, 16), 16, lower.tail = TRUE) + pt(qt(0.95, 16), 16, lower.tail = FALSE)),不过我在想是否有更简洁的方法来得到这个值? - Michael
pt(t_value, 16) 给出 小于等于 的分布概率。如果输入 pt(t_value, 16, lower.tail = FALSE),则会得到 0.05。这是因为我们要求双侧量化值(再次提醒,这不是一个我会使用的术语),因此得到的结果是 0.05 而不是 0.1 - thothal

4

正如您猜测的那样,您需要估计双侧区间(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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接