随机完整区组设计

Randomized complete block design

我正在尝试在 R 中进行 3 次重新排列的“随机化完整块设计”。 我正在做一个盆栽实验,有 9 个处理(3 个肥料和 3 个杀虫剂组合),每个处理 6 个重复,因此我选择了 6 个块。在区块内,每个安排允许进行一次处理,并且在所有安排中,每个单独的盆只允许在一个区块内发生一次。 例如:C_p+Min_1第一次可以在block 1,以后就不能再return在block 1。同时,此处理的其他重复 (C_p+Min_2 - C_p+Min_6) 不能与 C_p+Min_1 在同一块中。 我的块设计是一个 6 x 9 光栅,其中一个块是正方形中的 3x3 光栅:

我做了什么:

library(agricolae)
pesticide <- factor(rep(c("C_p", "Bio", "Syn"), each = 3))
fertilizer <- factor(rep(c("C_f", "Org", "Min"), times = 3))

treatments <- data.frame(fertilizer, pesticide)
treatments_combined <- paste(treatments$fertilizer, "+", treatments$pesticide)

design.rcbd(trt=treatments_combined, r=6, randomization = TRUE, first=TRUE)$sketch

这导致:

      [,1]        [,2]        [,3]        [,4]        [,5]        [,6]        [,7]        [,8]        [,9]       
[1,] "Org + C_p" "Org + Syn" "C_f + Syn" "Min + Syn" "C_f + Bio" "Min + C_p" "Org + Bio" "Min + Bio" "C_f + C_p"
[2,] "Min + Bio" "Min + Syn" "Min + C_p" "C_f + Bio" "Org + Syn" "C_f + C_p" "Org + C_p" "C_f + Syn" "Org + Bio"
[3,] "Org + Syn" "C_f + Bio" "C_f + Syn" "Org + Bio" "Org + C_p" "Min + C_p" "C_f + C_p" "Min + Syn" "Min + Bio"
[4,] "C_f + Bio" "Min + Bio" "Org + C_p" "C_f + C_p" "C_f + Syn" "Min + Syn" "Min + C_p" "Org + Bio" "Org + Syn"
[5,] "Org + C_p" "Org + Bio" "C_f + C_p" "C_f + Syn" "C_f + Bio" "Min + Bio" "Min + C_p" "Min + Syn" "Org + Syn"
[6,] "C_f + Syn" "C_f + C_p" "Min + Bio" "Org + Syn" "Org + Bio" "Min + C_p" "Org + C_p" "C_f + Bio" "Min + Syn"

所以我一次得到了我想要的。 现在我想重新排列它们 3 次。我该怎么做才能满足我上面的规格?

我相信如果您简单地重新运行 design.rcbd() 函数,您将获得新的随机化。 (该函数有一个 seed 参数,如果出于某种原因你想修复随机化以重复获得相同的结果。)

set.seed(101)  ## for replicability in the future
designs <- replicate(4, simplify=FALSE,
     design.rcbd(trt=treatments_combined, r=6, 
                 randomization = TRUE, first=TRUE)$sketch)

这将为您提供一个包含四个“草图”的列表,您可以将其检索为 designs[[1]]designs[[2]]

或者您可以通过省略 $sketch:

来保存整个设计
designs <- replicate(4, simplify=FALSE,
     design.rcbd(trt=treatments_combined, r=6, 
                 randomization = TRUE, first=TRUE))

现在使用 designs[[1]]$sketch 获取设计 1 的设计草图,并使用 designs[[1]]$book 获取“田野手册”,我认为这就是您想要的关于单个花盆的详细信息.. .

  plots block treatments_combined
1    101     1           C_f + C_p
2    102     1           Org + C_p
3    103     1           Min + C_p
...

一种提取特定治疗组合信息的方法:

b <- designs[[1]]$book
dplyr::filter(b, treatments_combined == "Min + C_p")
  plots block treatments_combined
1   103     1           Min + C_p
2   207     2           Min + C_p
3   303     3           Min + C_p
4   404     4           Min + C_p
5   503     5           Min + C_p
6   608     6           Min + C_p
>