Problem

Data

   Run RunOrder  A  B  C  D Yield
1    1        5 -1 -1 -1 -1    12
2    2        9  1 -1 -1 -1    18
3    3        8 -1  1 -1 -1    13
4    4       13  1  1 -1 -1    16
5    5        3 -1 -1  1 -1    17
6    6        7  1 -1  1 -1    15
7    7       14 -1  1  1 -1    20
8    8        1  1  1  1 -1    15
9    9        6 -1 -1 -1  1    10
10  10       11  1 -1 -1  1    25
11  11        2 -1  1 -1  1    13
12  12       15  1  1 -1  1    24
13  13        4 -1 -1  1  1    19
14  14       16  1 -1  1  1    21
15  15       10 -1  1  1  1    17
16  16       12  1  1  1  1    23

A = time, B = concentration, C = pressure, D = temperature (−1 = low, +1 = high).

1)

[1] "D"   "A:D" "A:C" "A"  

Effect estimates

      A     A:C     A:D       D       C A:B:C:D   A:B:C   A:B:D   B:C:D     A:B 
   4.50   -4.25    4.00    3.25    2.00    1.00    1.00    0.75   -0.75   -0.75 
      B   A:C:D     B:C     C:D     B:D 
   0.50   -0.25    0.25    0.00    0.00 

From the halfnormal plot, A, D, AC, and AD fall far off the line formed by the other effects (also flagged by Lenth’s method at α = 0.05), so these appear to be significant:

  • A (time): effect = 4.50
  • AC (time × pressure): effect = −4.25
  • AD (time × temperature): effect = 4.00
  • D (temperature): effect = 3.25

The main effect of C (pressure, effect = 2.00) is not flagged on its own, but it is kept in the model because the AC interaction is significant (hierarchy principle). B and all terms involving B appear to be noise.

2)

The 10 remaining terms (B, AB, BC, BD, CD, ABC, ABD, ACD, BCD, ABCD) were pooled into error, which gives 10 df for error.

            Df Sum Sq Mean Sq F value   Pr(>F)    
A            1  81.00   81.00  49.846 3.46e-05 ***
C            1  16.00   16.00   9.846 0.010549 *  
D            1  42.25   42.25  26.000 0.000465 ***
A:C          1  72.25   72.25  44.462 5.58e-05 ***
A:D          1  64.00   64.00  39.385 9.19e-05 ***
Residuals   10  16.25    1.62                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

At α = 0.05, all remaining terms are significant:

  • A: p = 3.46 × 10⁻⁵
  • C: p = 0.0105
  • D: p = 0.00047
  • AC: p = 5.58 × 10⁻⁵
  • AD: p = 9.19 × 10⁻⁵

Time (A) has the largest effect on yield, but its effect depends on both pressure (C) and temperature (D).

R Code

library(DoE.base)

# Data
A <- rep(c(-1, 1), 8)
B <- rep(c(-1, -1, 1, 1), 4)
C <- rep(c(-1, -1, -1, -1, 1, 1, 1, 1), 2)
D <- c(rep(-1, 8), rep(1, 8))
RunOrder <- c(5, 9, 8, 13, 3, 7, 14, 1, 6, 11, 2, 15, 4, 16, 10, 12)
Yield <- c(12, 18, 13, 16, 17, 15, 20, 15,
           10, 25, 13, 24, 19, 21, 17, 23)

dat <- data.frame(Run = 1:16, RunOrder, A, B, C, D, Yield)
dat

# 1) Halfnormal plot
model_full <- lm(Yield ~ A * B * C * D, data = dat)
hn <- halfnormal(model_full)
hn$signif   # effects flagged by Lenth's method (alpha = 0.05)

# Effect estimates
effects <- 2 * coef(model_full)[-1]
round(effects[order(abs(effects), decreasing = TRUE)], 3)

# 2) Reduced model (non-significant terms pooled into error)
model_reduced <- aov(Yield ~ A + C + D + A:C + A:D, data = dat)
summary(model_reduced)