使用模拟从t表创建一条线(在R中)

时间:2012-12-17 17:45:17

标签: r statistics

在为t分布运行模拟后,如何从R中的t表创建一条线?本质上,我想仅使用从正态分布中随机样本计算的值来执行qt函数,而不是使用置信度作为输入。

我已经在t(自由度“df”)分布上运行了5000次模拟,我想获取这些值并使用它们来重新创建对应于df的t表中的行。无法解决问题。

非常感谢任何帮助!

1 个答案:

答案 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等工具来加速。