本文主要是介绍平衡不完全区组(BIB)设计的方差分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在随机区组设计中, 当处理数较多时,常常会出现一个区组不能容纳全部处理的情形,这时可以采用平衡不完全区组设计(balanced incomplete block design, BIBD)。
对于BIB 设计, 各区组内的小区数小于试验的处理数, 即每个区组不能包含所有的处理(不完全区组), 每种处理在同一区组内最多只出现一次, 而且在整个试验中有相同的被测次数, 此外, 任意一对处理都在同一区组内有相同的相遇机会, 因而整个试验平衡。
如表7-6所示,是一个简单的BIB设计,每个区组只容纳3个处理,3株数小区,测量的是平均树高。
对于BIB设计,不能采用R语言普通的方差分析,需要做III型SS分析,并且多重分析需要做适当的校正。
下述做一个简单的比较,普通方差分析代码如下:
library(RSTAT2D);library(agricolae)
data("d7.3.3");df=d7.3.3
df$Trt<-as.factor(df$Trt)
fit <- aov(y ~ ., data = df)
summary(fit)
duncan.test(fit,"Trt",alpha = 0.05)$groups
运行结果如下:
> summary(fit) Df Sum Sq Mean Sq F value Pr(>F)
Trt 8 12.904 1.6131 5.217 0.00247 **
Blk 11 5.992 0.5447 1.762 0.14711
Residuals 16 4.947 0.3092
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
72 observations deleted due to missingness
> duncan.test(fit,"Trt",alpha = 0.05,console=F)$groups y groups
3 9.025 a
6 8.810 ab
2 8.680 abc
1 8.485 abcd
4 8.210 abcd
9 7.960 bcd
8 7.805 cde
7 7.730 de
5 7.005 e
但是上述的结果是不可靠的,我们可以使用agricolae包的BIB.test函数进行分析,代码如下:
> df<-na.omit(df)
> BIB.test(block=df$Blk, trt=df$Trt, y=df$y, test = "duncan",
+ alpha = 0.05, group = TRUE,console=T)ANALYSIS BIB: df$y
Class level information
Block: b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12
Trt : 1 2 3 4 5 6 7 8 9Number of observations: 36Analysis of Variance Table
Response: df$yDf Sum Sq Mean Sq F value Pr(>F)
block.unadj 11 8.8887 0.80806 2.6134 0.039617 *
trt.adj 8 10.0077 1.25096 4.0458 0.008381 **
Residuals 16 4.9472 0.30920
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1coefficient of variation: 6.8 %
df$y Means: 8.19 df$Trt, statisticsdf$y mean.adj SE r std Min Max
1 8.485 8.701111 0.3165506 4 0.8325663 7.38 9.40
2 8.680 8.376667 0.3165506 4 0.6307667 8.00 9.52
3 9.025 8.854444 0.3165506 4 0.4193249 8.42 9.36
4 8.210 8.641111 0.3165506 4 0.6959885 7.40 9.10
5 7.005 6.781111 0.3165506 4 0.2777889 6.70 7.32
6 8.810 8.596667 0.3165506 4 0.5097712 8.14 9.32
7 7.730 7.807778 0.3165506 4 1.0398077 6.46 8.60
8 7.805 7.918889 0.3165506 4 0.3937427 7.26 8.20
9 7.960 8.032222 0.3165506 4 0.5673329 7.22 8.52Duncan's new multiple range test
Alpha : 0.05
Std.err : 0.3210409Critical Range2 3 4 5 6 7 8 9
0.9624803 1.0092893 1.0385497 1.0586147 1.0731111 1.0839250 1.0921549 1.0984919 Parameters BIB
Lambda : 1
treatmeans : 9
Block size : 3
Blocks : 12
Replication: 4
...
Treatments with the same letter are not significantly different.df$y groups
3 8.854444 a
1 8.701111 a
4 8.641111 a
6 8.596667 a
2 8.376667 a
9 8.032222 a
8 7.918889 a
7 7.807778 a
5 6.781111 b
比较上述2种方法的方差分析和多重比较的结果,就会发现差异所在。BIB.test的结果是可靠的,因为它进行了校正。
这篇关于平衡不完全区组(BIB)设计的方差分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!