从正态分布生成许多样本对

时间:2014-11-30 14:17:30

标签: r statistics distribution random-sample

我试图学习如何使用R进行统计学分析,我想如何在一组两个样本中生成20 000(K个对)次,每个样本有50个点来自相同的正态分布(平均值为2.5)和方差9)?

到目前为止,我知道这就是我从正态发布中获得50分的原因:

rnorm(50,2.5,3)

但是如何生成一组两个样本的20 000次,以便我可以在以后对K对进行测试?

2 个答案:

答案 0 :(得分:2)

x   <-  lapply(c(1:20000), 
        function(x){
            lapply(c(1:2), function(y) rnorm(50,2.5,3))
})

这产生20000个配对样本,其中每个样本由来自N(2.5,3 ^ 2)分布的50个观察组成。请注意,x是一个列表,其中每个槽都是两个长度为50的向量的列表。

要对样本进行t检验,您需要提取向量并将其用于t检验。

t.tests <- lapply(x, function(y) t.test(x=y[[2]], y=y[[1]]))

答案 1 :(得分:0)

的内容
 yourresults <- replicate(20000,{yourtest(matrix(rnorm(100,2.5,3),nc=2),<...>)})

 yourresults <- replicate(20000,{yourtest(rnorm(50,2.5,3),rnorm(50,2.5,3),<...>)})

其中yourtest是您正在执行某项测试的函数,<...>是您传递给yourtest的其他参数。第一个是合适的,如果它需要一个有两列的矩阵,第二个是合适的,如果它需要两个向量。您可以以明显的方式将此方法适用于其他形式的输入 - 例如公式接口。