【发布时间】:2015-10-21 11:41:22
【问题描述】:
我正在运行一个包含两个实验的实验:experiment_1 和experiment_2。每个实验有 5 种不同的处理(即 1、2、3、4、5)。我们正在尝试在组内随机分配治疗。
我们希望通过抽样来做到这一点,而无需在每个组内迭代替换。我们希望这样做以确保我们在治疗中获得尽可能平衡的样本(例如,我们不希望最终将第 1 组中的 4 名受试者分配到治疗 2 而没有人接受治疗 1)。因此,如果一个组有 23 名受试者,我们希望将受访者分成 4 个 5 人的子组和 1 个 3 人的子组。然后我们希望在第 5 人的第一个子组中随机抽样而不放回,所以每个人都被分配了 1 个治疗,对第二个、第三个和第四个子组 5 做同样的事情,对最后一个子组 3 随机抽样不放回。因此,我们保证每个治疗至少分配给 4 名受试者,其中 3 名分配给该组中的 5 名受试者。我们希望对实验中的所有组和两种治疗都这样做。结果输出看起来像这样......
group experiment_1 experiment_2
[1,] 1 5 3
[2,] 1 3 2
[3,] 1 4 4
[4,] 1 1 5
[5,] 1 2 1
[6,] 1 2 3
[7,] 1 4 1
[8,] 1 3 2
[9,] 2 5 5
[10,] 2 1 4
[11,] 2 3 4
[12,] 2 1 5
[13,] 2 2 1
. . . .
. . . .
. . . .
我知道如何使用sample 函数,但不确定如何在每个组内进行无替换采样,以便我们的输出对应于上述过程。任何帮助将不胜感激。
【问题讨论】:
-
实验次数和组数是否相关,或者如果组1和实验1有解决方案,问题是否解决?
-
感谢您的回复。实验的数量无关紧要——我们可以只使用第一个实验的解决方案,第二个实验和
cbind。如果有第 1 组的解决方案,它应该可以简单地使用append或 for 循环应用于所有后续组,对吗?棘手的部分是在组内生成处理序列(整数),因为并非所有组都是 5 的倍数。
标签: r integer sampling experimental-design