我想使用MASS :: mvrnorm(或视情况而定,是rnorm)生成操纵样本大小和方差的多元随机数据。这非常简单,但是,诀窍在于,我打算用此生成的数据模拟一个统计数据,该统计数据将比较两个不同样本大小(不同长度)。本质上,这创建了一个3X3设计,其中我具有三个级别的2个不同样本大小(例如[450,150],[300,300],[150,450])与三个级别的方差(例如[1,1],[1,3] ,[1,10])。
n <- c(450,150,300,300,150,450) # sample sizes
sig <- matrix(c(1,1,1,3,1,10), nrow=2, byrow=F) # variance
mu <- (5, 5, 5) # mean is constant across all conditions
mvrnorm(n, mu, sig)
我确定我必须遍历样本大小的向量,就像我在每个条件下仅生成一个 个样本大小一样。但是,由于我为每种条件生成两个样本大小,因此我不确定如何执行此操作。
答案 0 :(得分:2)
如果我对您的理解正确,则需要六个样本:N(5,1)抽取450张,N(5,1)抽取150张,N(5,1)抽取300张,N(5)抽取300张,3),从N(5,1)中抽出150个,从N(5,10)中抽出450个。你可以通过
samples <- mapply(rnorm, n = c(450,150,300,300,150,450), sd = c(1,1,1,3,1,10))
显然,由于尺寸的原因,我将省略输出,但是您可以看到我的意思:
str(samples)
List of 6
$ : num [1:450] 0.785 -0.21 0.192 -0.265 -0.501 ...
$ : num [1:150] 1.224 -0.315 -0.131 -0.923 0.407 ...
$ : num [1:300] -0.413 -1.081 0.469 1.332 0.244 ...
$ : num [1:300] -0.748 -0.628 0.753 1.4 3.883 ...
$ : num [1:150] 0.376 -1.193 1.133 1.839 1.528 ...
$ : num [1:450] 2.19 -3.17 2.45 0.75 -8.4 ...
然后,您要在samples[[1]]
和samples[[2]]
之间,然后在samples[[3]]
和samples[[4]]
之间,最后在samples[[5]]
和{{ 1}}。我不知道您打算运行什么测试,但是如果您具有测试功能,那就应该很简单:只需输入适当的列表元素即可。
根据评论,您需要获取所需的所有样品组合
samples[[6]]