R 向量的随机组合

R 向量的随机组合,r,R,如何在R中随机组合两个向量?比如说, individuals <- rep(1:24) treatments <- c("T1", "T2", "T3") 个人这不是一个优雅的解决方案,但可以胜任。我假设你每次治疗至少需要3个人,因为一个完全平衡的设计会给你每次治疗8个人 individuals <- rep(1:24) treatments <- c("T1", "T2", "T3") while (length(treatments[treatments=="

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

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

个人这不是一个优雅的解决方案,但可以胜任。我假设你每次治疗至少需要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)

个体有多种方法,但您可以这样做:
cbind.data.frame(个体,grp=sample(rep(treatments,8))
。当没有给出其他参数时,
sample
函数会随机排列给定的向量。请注意,这将为您每次治疗提供8个个体(我想这是您的意思?),而不是您问题中要求的3个。@jbaums,谢谢您的注释!是的,我的意思是每次治疗8人,而不是3人。我的错。