随机组合的向量

时间:2014-08-01 01:44:05

标签: r

如何在R中随机组合两个向量?例如,

individuals <- rep(1:24)
treatments <- c("T1", "T2", "T3") 

考虑到我每次治疗需要3个人,我怎样才能将治疗随机分配给个体(从1到24人),所以我最终得到一个矩阵,其中包含个体和治疗之间的组合。

1 个答案:

答案 0 :(得分:0)

这不是一个优雅的解决方案,但会完成这项工作。我假设您每次治疗至少需要3个人,因为完全平衡的设计每次治疗会给您8个人。

individuals <- rep(1:24)
treatments <- c("T1", "T2", "T3") 

while (length(treatments[treatments=="T1"])<=3 | length(treatments[treatments=="T2"])<=3 | length(treatments[treatments=="T3"])<=3) {
    treatments = sample(treatments, length(individuals), replace = TRUE)
    print("retry")
    flush.console()
}

df <- cbind(individuals, treatments)