如何根据特定变量分配治疗组和对照组?

时间:2015-03-04 15:45:49

标签: r

我有两个变量X1X2,我使用logit函数(e^x/(1+e^x))将这两个变量转换为第三个变量X3。因此,X3是一个范围从0到1的变量。根据概率,我想为每个个体分配一个虚拟变量1和0。这项任务只有一条规则,概率越高,治疗组的分配机会就越高。

1 个答案:

答案 0 :(得分:0)

如果要根据固定阈值分配两个组,则可以使用@dimitris_ps的建议。在这种情况下,阈值为50%。

ifelse(df$X3 >= 0.5, "Treatment", "Control")

如果要随机分配两个组,则可以生成0到1之间的随机数,然后如果随机数低于随机数,则将个体分配给Treatmentrunif(n)生成0到1之间的n个随机数。

set.seed(1) # So you get the same random numbers each time you run it.
ifelse(df$X3 <= runif(n), "Treatment", "Control")