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 <- 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