随机完整区组设计
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
>
我正在尝试在 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
>