随机分配治疗组的一半

标签 r random experimental-design

我正在随机分配实验的治疗方法。我有四个站点 (Site1, ... Site4),其中 12 个实验单元(例如,1 ... 12)被复制了四次(例如,1 ... 4)。对于每个重复,我随机分配了三种处理之一(例如,trt1 ...trt3)。

我现在需要为我的每个站点的重复中的每个处理分配一个 SecondTreatment(是或否)。 trt2 应始终为“y”,而我想将“y”随机分配给 trt1 的一半,将“n”分配给 trt1 的另一半,然后对 trt3 执行相同操作。应该给我每个副本:带有 4 个“y”的 trt2、带有 2 个“n”的 trt1 和带有 3 个“n”的 trt3。

我的数据如下所示:

Site      Experimental unit     Replicate   Treatment        SecondTreatmentAssign (y/n)
Site1              1                1         trt1  
Site1              2                1         trt2  
Site1              3                1         trt3  
Site1              4                1         trt3  
Site1              5                1         trt1  
Site1              6                1         trt2  
Site1              7                1         trt3  
Site1              8                1         trt2  
Site1              9                1         trt1  
Site1              10               1         trt1  
Site1              11               1         trt3  
Site1              12               1         trt2  
Site1              1                2         trt2  
Site1              2                2         trt3  
Site1              3                2         trt1  
Site1              4                2         trt2  
Site1              5                2         trt1  
Site1              6                2         trt3  
Site1              7                2         trt2  
Site1              8                2         trt2         
Site1              9                2         trt1  
Site1              10               2         trt2  
Site1              11               2         trt1  
Site1              12               2         trt3      
Site1              1                3         trt2  
Site1              2                3         trt1  
Site1              3                3         trt3  
Site1              4                3         trt3  
Site1              5                3         trt2  
Site1              6                3         trt1  
Site1              7                3         trt3  
Site1              8                3         trt2  
Site1              9                3         trt1  
Site1              10               3         trt1  
Site1              11               3         trt3  
Site1              12               3         trt2  
Site1              1                4         trt3  
Site1              2                4         trt2  
Site1              3                4         trt1  
Site1              4                4         trt3  
Site1              5                4         trt2  
Site1              6                4         trt1  
Site1              7                4         trt3  
Site1              8                4         trt1  
Site1              9                4         trt2  
Site1              10               4         trt1  
Site1              11               4         trt2  
Site1              12               4         trt3
  .                .                .           .
  .                .                .           .
  .                .                .           .
Site4              12               4         trt1  

我希望能够以一种方式将这些分配返回到数据框中,这样我就不必手动移动任何东西。我仍然是编程的新手,不知道如何实现这一点。

谢谢!

最佳答案

我会这样做:

library(dplyr) 
data %>% 
  arrange(runif(n())) %>% # randomize the order
  group_by(Site, Replicate, Treatment) %>% # group
  mutate(
    Treat_2 = case_when(
      Treatment == "trt2" ~ "y", # trt2 gets 'y'
      row_number() <= n() / 2 ~ "y", # others in the first half get "y"
      TRUE ~ "n" # others in the second half get "n"
  )) %>%
  arrange(Site, Replicate, `Experimental unit`) ## return to original order

关于随机分配治疗组的一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61599917/

相关文章:

python - 在 Python 中选择过去 2 年的随机月份

封闭系统 shellcode 实验(段错误)

python - 带有反馈和多个 if 循环的 Psychopy 构建器实验

r - stan - 向量化困难

r - 使用 dplyr 和 mutate 对多列中的每一列使用单独的条件

r - 在保留 row.names 的同时对矩阵进行子集化

python - 根据 2 个以上组的百分比随机分配对照组与治疗组

r - apply 函数 - 自定义函数最后返回 NULL

ruby-on-rails - 如何在 Ruby 中生成随机日期?

c++ - 生成随机约束图