在为t分布运行模拟后,如何从R中的t表创建一条线?本质上,我想仅使用从正态分布中随机样本计算的值来执行qt函数,而不是使用置信度作为输入。
我已经在t(自由度“df”)分布上运行了5000次模拟,我想获取这些值并使用它们来重新创建对应于df的t表中的行。无法解决问题。
非常感谢任何帮助!
答案 0 :(得分:3)
分位数函数将为您提供与我使用的t表中的值相同的值:
quants <- 1-c(0.2, 0.1, 0.05, 0.025, 0.01, 0.005, 0.001)
n <- 15
sims <- replicate( 5000, {x <- rnorm(n); sqrt(n)*mean(x)/sd(x)} )
(t.table <- quantile(sims, quants) )
## compare
rbind( t.table, qt( quants, n-1 ) )
pt(t.table, n-1)
这些是左侧区域,常见的t表格给出了右侧区域,我们可以更改标签以与names(t.table) <- 1-quants
匹配。更改quants
以匹配您的特定表格(如果您想要更接近的匹配,请增加模拟次数)。
在这种情况下的模拟可以通过在1步中模拟整个法线矩阵然后使用rowMeans
等工具来加速。