From the exercise 6.21, the data is as follows. But, since we want to block the replications, let’s add the variable “blocking” in order to do that:
length <- rep(c(rep("-",7),rep("+",7)),8)
type <- rep(c(rep("-",14),rep("+",14)),4)
brk <- rep(c(rep("-",28),rep("+",28)),2)
slope <- c(rep("-",56),rep("+",56))
blocking <- rep(seq(1,7),16)
obs <- c(10.0, 18.0, 14.0, 12.5, 19.0, 16.0, 18.5,
0.0, 16.5, 4.5, 17.5, 20.5, 17.5, 33.0,
4.0, 6.0, 1.0, 14.5, 12.0, 14.0, 5.0,
0.0, 10.0, 34.0, 11.0, 25.5, 21.5, 0.0,
0.0, 0.0, 18.5, 19.5, 16.0, 15.0, 11.0,
5.0, 20.5, 18.0, 20.0, 29.5, 19.0, 10.0,
6.5, 18.5, 7.5, 6.0, 0.0, 10.0, 0.0,
16.5, 4.5, 0.0, 23.5, 8.0, 8.0, 8.0,
4.5, 18.0, 14.5, 10.0, 0.0, 17.5, 6.0,
19.5, 18.0, 16.0, 5.5, 10.0, 7.0, 36.0,
15.0, 16.0, 8.5, 0.0, 0.5, 9.0, 3.0,
41.5, 39.0, 6.5, 3.5, 7.0, 8.5, 36.0,
8.0, 4.5, 6.5, 10.0, 13.0, 41.0, 14.0,
21.5, 10.5, 6.5, 0.0, 15.5, 24.0, 16.0,
0.0, 0.0, 0.0, 4.5, 1.0, 4.0, 6.5,
18.0, 5.0, 7.0, 10.0, 32.5, 18.5, 8.0)
data1 <- data.frame(length,type,brk,slope,blocking,obs)
Now, to analyze the data, differently from the question 6.21, we will a term \(\zeta_z\) in the linear equation that represents the source of nuisance that we are blocking. And, since this is a known source of nuisance, it is correct to assume that this variable does not interact with the levels.
So, the statistical test will be as following:
model.aov.1 <- aov(obs~length*type*brk*slope+blocking,data=data1)
summary(model.aov.1)
## Df Sum Sq Mean Sq F value Pr(>F)
## length 1 917 917.1 10.673 0.00151 **
## type 1 388 388.1 4.517 0.03616 *
## brk 1 145 145.1 1.689 0.19687
## slope 1 1 1.4 0.016 0.89888
## blocking 1 152 152.1 1.769 0.18663
## length:type 1 219 218.7 2.545 0.11398
## length:brk 1 12 11.9 0.138 0.71068
## type:brk 1 115 115.0 1.338 0.25020
## length:slope 1 94 93.8 1.092 0.29877
## type:slope 1 56 56.4 0.657 0.41976
## brk:slope 1 2 1.6 0.019 0.89084
## length:type:brk 1 7 7.3 0.084 0.77206
## length:type:slope 1 113 113.0 1.315 0.25437
## length:brk:slope 1 39 39.5 0.459 0.49952
## type:brk:slope 1 34 33.8 0.393 0.53224
## length:type:brk:slope 1 96 95.6 1.113 0.29411
## Residuals 95 8164 85.9
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Just like the question 6.21, it is possible to assume that only the levels tyoe and brk are significant for the data, since the repectivelly p-values are below \(\alpha=0.05\).
However, since we want, not only test the levels significance, test the effect of blocking the replicates, let’s compare the \(MSE_{6.21}\) with \(MSE_{7.12}\).
From the previous question, we have a \(MSE_{6.21}=86.6\) and from the analysis of this data, we have a \(MSE_{7.12}= 85.9\). Therefore we can conclude that blocking is in fact a source of nuisance, because the error decreased. But since the error decreased only 0.8% of the MSE, blocking the replicates is not really effective.
To propose the design of our experiment, let’s use the following function in R.
library(agricolae)
levels <- c(2,2,2,2,2,2)
experiment <- design.ab(levels, r=1,design="crd",randomization=FALSE)
After that, according to table 7.9, the most effective blocks for a \(2^6\) design factorial with 4 blocks are the effects ABCF and CDEF.
The full design is in the attached excel spreadsheet and it is possible to see in the image below:
The factors that are cofounded are ABCD, ABEF, ACE, BDE,CDEF,BCF, and ADF. From the yates table shown in the previous image, the full design with eight blocks can be seen in the figure below: