如何在R中随机组合两个向量?例如,
individuals <- rep(1:24)
treatments <- c("T1", "T2", "T3")
考虑到我每次治疗需要3个人,我怎样才能将治疗随机分配给个体(从1到24人),所以我最终得到一个矩阵,其中包含个体和治疗之间的组合。
答案 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)