A chemist wishes to test the effect of four chemical agents on the strength of a particular type of cloth. Because there might be variability from one bolt to another, the chemist decides to use a randomized block design, with the bolts of cloth considered as blocks. She selects five bolts and applies all four chemicals in random order to each bolt. The resulting tensile strengths follow. Analyze the data from this experiment (use α=0.15) and draw appropriate conclusions. Be sure to state the linear effects model and hypotheses being tested. (Note: Consider whether the block (Bolt) is a fixed or random effect when performing your analysis).
Linear Effects Equation:
\[Y_{ij} = \mu + \alpha_i + \beta_j + \epsilon_{ij}\] Where: \(Y_{ij}\) = The tensile strength observation for the \(i\)-th chemical agent (\(i = 1, 2, 3, 4\)) on the \(j\)-th bolt of cloth (\(j = 1, 2, 3, 4, 5\)). \(\mu\) = The overall mean tensile strength. \(\alpha_i\) = The fixed effect of the \(i\)-th chemical agent. \(\beta_j\) = The random effect of the \(j\)-th bolt of cloth (Block). \(\epsilon_{ij}\) = The random error component, assumed \(\text{N}(0, \sigma^2)\).
Hypothesis:
Null Hypothesis (\(H_0\)): \(\alpha_1 = \alpha_2 = \alpha_3 = \alpha_4 = 0\) (All chemical agents produce equivalent mean tensile strength).
Alternative Hypothesis (\(H_1\)): At least one \(\alpha_i \neq 0\) (At least one chemical agent differs in mean tensile strength).
Blocks:
\(H_0: \sigma^b_2 = 0\) (No bolt-to-bolt variability / blocking is unnecessary). \(H_1: \sigma^b_2 > 0\) (Significant bolt-to-bolt variability exists).
The Bolt of Cloth is considered a Random Effect.
library(GAD)
# Data
strength <- c(73, 68, 74, 71, 67,
73, 67, 75, 72, 70,
75, 68, 78, 73, 68,
73, 71, 75, 75, 69)
chemical <- factor(rep(c("C1", "C2", "C3", "C4"), each = 5))
bolt <- factor(rep(c("B1", "B2", "B3", "B4", "B5"), times = 4))
df_rcbd <- data.frame(strength, chemical, bolt)
print(df_rcbd)
## strength chemical bolt
## 1 73 C1 B1
## 2 68 C1 B2
## 3 74 C1 B3
## 4 71 C1 B4
## 5 67 C1 B5
## 6 73 C2 B1
## 7 67 C2 B2
## 8 75 C2 B3
## 9 72 C2 B4
## 10 70 C2 B5
## 11 75 C3 B1
## 12 68 C3 B2
## 13 78 C3 B3
## 14 73 C3 B4
## 15 68 C3 B5
## 16 73 C4 B1
## 17 71 C4 B2
## 18 75 C4 B3
## 19 75 C4 B4
## 20 69 C4 B5
# Factors
chemical <- as.fixed(chemical)
bolt <- as.random(bolt)
# Fit model
model_rcbd <- aov(strength ~ chemical + bolt)
gad(model_rcbd)
## $anova
## Analysis of Variance Table
##
## Response: strength
## Df Sum Sq Mean Sq F value Pr(>F)
## chemical 3 12.95 4.317 2.3761 0.1211
## bolt 4 157.00 39.250 21.6055 2.059e-05 ***
## Residuals 12 21.80 1.817
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Conclusion: Chemicals: p-value = 0.121. Because p-value is < 0.15, we can reject H0, as there is a significant difference between the chemicals agents at the 15% of significance level.
Bolts (blocks): p-value is far < 0.15, so we can reject H0 for the blocks. This demonstrate that bolt-to-bolt variability is highly significant.
Assume now that she didn’t block on Bolt and rather ran the experiment at a completely randomized design on random pieces of cloth, resulting in the following data. Analyze the data from this experiment (use α=0.15) and draw appropriate conclusions. Be sure to state the linear effects model and hypotheses being tested.
Linear Effects Equation:
\[Y_{ij} = \mu + \tau_i + \epsilon_{ij}\] Where: \(Y_{ij}\) = The tensile strength observation for the \(i\)-th chemical agent (\(i = 1, 2, 3, 4\)) on the \(j\)-th bolt of cloth (\(j = 1, 2, 3, 4, 5\)). \(\mu\) = The overall mean tensile strength. \(\tau_i\) = The effect of the \(i\)-th chemical agent. \(\epsilon_{ij}\) = The random error component, assumed \(\text{N}(0, \sigma^2)\).
Hypothesis:
Null Hypothesis (\(H_0\)): \(\tau_1 = \tau_2 = \tau_3 = \tau_4 = 0\) (All chemical agents produce equivalent mean tensile strength).
Alternative Hypothesis (\(H_1\)): At least one \(\tau_i \neq 0\) (At least one chemical agent differs in mean tensile strength).
# Without block
chemical_crd <- as.fixed(rep(c("C1", "C2", "C3", "C4"), each = 5))
strength_crd <- strength
model_crd <- aov(strength_crd ~ chemical_crd)
summary(model_crd)
## Df Sum Sq Mean Sq F value Pr(>F)
## chemical_crd 3 12.95 4.317 0.386 0.764
## Residuals 16 178.80 11.175
Conclusion: p-value = 0.764. Because p-value is > 0.15, we can’t reject H0, as there is no significant difference between the chemical agents.
Comment on any differences in the findings from questions 1 and 2. Do you believe that the Bolt of cloth represents a significant amount of nuisance variability?
In question 1, with blocks, the p-value was 0.121, and we rejected H0 (alpha = 0.15), this indicated that there are differences among the chemicals. Regarding the hypothesis test for the blocks, the p-value for the bolts was far below the alpha. Consequently, we rejected H0 for the blocks as well, confirming the variability from one bolt of cloth to another.
In question 2, without blocks, the p-value was greater than the alpha (0.764), because of that, we fail to reject H0, which reveals that there is no difference between the chemicals.
Furthermore, the difference between using or not using the blocks was determinant for the experiment, providing the statistical power necessary by isolating the variation in question 1 (RCBD) the MSE, mean square error, dropped to 1.82 (residual) in comparison with 11.18 (CRD - question 2). The bolt of cloth represents a highly significant source of nuisance variability, proving that blocking was essential for this experiment.
knitr::opts_chunk$set(echo = TRUE, warning=FALSE, message = FALSE)
library(GAD)
# Data
strength <- c(73, 68, 74, 71, 67,
73, 67, 75, 72, 70,
75, 68, 78, 73, 68,
73, 71, 75, 75, 69)
chemical <- factor(rep(c("C1", "C2", "C3", "C4"), each = 5))
bolt <- factor(rep(c("B1", "B2", "B3", "B4", "B5"), times = 4))
df_rcbd <- data.frame(strength, chemical, bolt)
print(df_rcbd)
# Factors
chemical <- as.fixed(chemical)
bolt <- as.random(bolt)
# Fit model
model_rcbd <- aov(strength ~ chemical + bolt)
gad(model_rcbd)
# Without block
chemical_crd <- as.fixed(rep(c("C1", "C2", "C3", "C4"), each = 5))
strength_crd <- strength
model_crd <- aov(strength_crd ~ chemical_crd)
summary(model_crd)