我想要找到在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中相应的函数是什么?
我想要找到在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中相应的函数是什么?
您需要从自由度为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
中,我们可以使用函数qt
(q表示分位数,t表示t-分布)来获取此值。现在我们只需要弄清楚什么是双尾逆函数
。原来我们正在寻找满足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
。
pt(t_value, 16)
,但是我得到的是95%。 - Michael1 - (pt(qt(0.05, 16), 16, lower.tail = TRUE) + pt(qt(0.95, 16), 16, lower.tail = FALSE))
,不过我在想是否有更简洁的方法来得到这个值? - Michaelpt(t_value, 16)
给出 小于等于 的分布概率。如果输入pt(t_value, 16, lower.tail = FALSE)
,则会得到0.05
。这是因为我们要求双侧量化值(再次提醒,这不是一个我会使用的术语),因此得到的结果是0.05
而不是0.1
。 - thothal