我想对120名参与者进行分组随机化,分成40组,每组3人。每个块内的2个参与者被分配给治疗(用1表示),1个参与者被分配到控制(用0表示)。
我希望使用R程序将每个块中的数字(1,1,0)随机化。生成我使用的数字
n00=1 n11=2 标签= rep(c(rep(0,n00),rep(1,n11)),40)
如何将数字按3的块随机化,这样就有了2 1和10 s?
发布于 2019-09-15 06:49:34
注释.--我没有在您的代码中看到任何随机化。在将三名受试者中的两名分配给治疗组和另一名对照组中,有三种可能:$(1,1,0),(1,0,1,1),(0,1,1).$
R函数sample使用随机数发生器进行随机抽样。下面的R代码将随机提供这三种作业中的一种。
如果您在开始时使用了与我相同的种子,您将得到与我完全相同的输出。对于意外的结果,您可以让R选择一个未知的种子。
set.seed(914)
sample(c(0,1,1), 3)
[1] 0 1 1
sample(c(0,1,1), 3)
[1] 0 1 1
sample(c(0,1,1), 3)
[1] 1 0 1
sample(c(0,1,1), 3)
[1] 1 0 1
sample(c(0,1,1), 3)
[1] 1 0 1
sample(c(0,1,1), 3)
[1] 1 1 0下面的R程序将为20个块的赋值生成一个矩阵MAT。(向下读栏。)您可以将20更改为40。
当然,为了让这有意义,你必须事先给区块分配1-20个数字,并让街区内的人麻木1-3。
set.seed(2019)
MAT = replicate(20, sample(c(0,1,1), 3)); MAT
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11]
[1,] 1 1 1 1 0 1 1 1 0 1 1
[2,] 1 0 0 1 1 0 0 1 1 1 0
[3,] 0 1 1 0 1 1 1 0 1 0 1
[,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20]
[1,] 0 1 1 1 1 0 0 1 1
[2,] 1 0 1 1 1 1 1 0 0
[3,] 1 1 0 0 0 1 1 1 1https://stackoverflow.com/questions/57942295
复制相似问题