2014-01-13 25 views
0

以下代码对我创建的自定义分布生成10000个t检验。模拟R中t检验的显着性水平

> x <- replicate(10000,{ 
    t.test(rcn(20,.25,25), mu=0, alternative="greater") 
    }) 

我构建意义的经验水平,所以我对的测试统计量是比相应的t分布的临界值,这是1.729(对于t分布greather数有19个自由度)。

如何在这里选择(并计数)这些测试统计?他们的数量超过10000的比例,模拟的总数,将给我我的经验水平的意义。

+0

请您例如可重复给予rcn'的'定义。 – Beasterfield

+0

@Beasterfield我的问题代表任何分配。我如何选择数千个具有相同特征的t检验?谢谢。 – JohnK

+1

我明白了,但是你可以从'stats'中选择一个分配函数,让人们有机会复制你的代码。请参阅[如何使一个伟大的R可重现的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – Beasterfield

回答

1

您可以直接访问replicate中的每个t.test的测试统计信息。例如:

x <- replicate(10000, { 
t.test(rcn(20,.25,25), mu=0, alternative="greater")$statistic 
}) 

这将返回一个t值向量。

你可以用你的临界值进行比较并计算TRUE S:

crit <- 1.729 
sum(x > crit) 
+0

不错!这是美元符号吗?它改进了功能? – JohnK

+0

@JohnK'$'用于访问元素。在这种情况下't.test'返回一个列表。 '$'符号提取名称为“statistic”的元素。 –

+0

好吧。非常感谢你。 – JohnK