我必须将正常分位数的结果(例如,.975)与t分布中的各种df值进行比较,直到得出与正态分布相同分位数相同的结果。 例如;找出t分布的.975分位数的最小df值,使其与正态分布的.975分位数的值相同,直到小数点后2位(尽管这将有助于下一部分分配,但不一定需要r代码)。
需要一个r代码,该代码可以执行与上述相同的操作,但是具有任意分位数和任意数量的小数位。
我尝试首先处理.975版本,但运气不好,a和b是具有qnorm和qt结果的变量:
a <- round(qnorm(.975,0,1),2)
a
df <- c(1:1000)
b <- round(qt(.975,df),2)
b
for (i in 1:length(df)) {
if (round(qt(.975,df[i]),2)==round(qnorm(.975,0,1),2)) {
df[i]
}
}
像a == b一样简单地对其进行了尝试,然后为i返回df值,并且在条件长度> 1且仅使用第一个元素的情况下出错,而上述代码则无效; t给出任何错误或结果。