Half-Normal Plot and Significant Effects

library(DoE.base)

Yield <- c(12,18,13,16,17,15,20,15,
           10,25,13,24,19,21,17,23)

A <- c(-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1)
B <- c(-1,-1,1,1,-1,-1,1,1,-1,-1,1,1,-1,-1,1,1)
C <- c(-1,-1,-1,-1,1,1,1,1,-1,-1,-1,-1,1,1,1,1)
D <- c(rep(-1,8), rep(1,8))

df <- data.frame(Yield,A,B,C,D)

model <- lm(Yield ~ A*B*C*D, data = df)

eff <- effects(model)

halfnormal(eff, main = "Half-Normal Plot of Effects")

Significant effects:
A, D, AC, AD

Reduced Model and Significance Test (α = 0.05)

reduced_model <- lm(Yield ~ A + D + A:C + A:D, data = df)

anova(reduced_model)
## Analysis of Variance Table
## 
## Response: Yield
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## A          1  81.00  81.000  27.628 0.0002700 ***
## D          1  42.25  42.250  14.411 0.0029629 ** 
## A:C        1  72.25  72.250  24.643 0.0004259 ***
## A:D        1  64.00  64.000  21.829 0.0006801 ***
## Residuals 11  32.25   2.932                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(reduced_model)
## 
## Call:
## lm.default(formula = Yield ~ A + D + A:C + A:D, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.6250 -0.8125 -0.1250  1.1250  2.3750 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  17.3750     0.4281  40.590 2.46e-13 ***
## A             2.2500     0.4281   5.256 0.000270 ***
## D             1.6250     0.4281   3.796 0.002963 ** 
## A:C          -2.1250     0.4281  -4.964 0.000426 ***
## A:D           2.0000     0.4281   4.672 0.000680 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.712 on 11 degrees of freedom
## Multiple R-squared:  0.8895, Adjusted R-squared:  0.8493 
## F-statistic: 22.13 on 4 and 11 DF,  p-value: 3.233e-05

Significant at α = 0.05:
A, D, AC, AD