1 Problem Setup

A process development study wants to see if four different factors and their interactions have an effect on the yield of a product. The four factors are time (A), concentration (B), pressure (C), and temperature (D). Each factor has only two levels, a high level (+) and a low level (-), creating a 2^4 factorial design that requires 16 observations for a full replication of the design. Due to limitations of the study, only one replication of the design could be performed. This report will input and analyze the data to make conclusions about which effects are significant.

2 Data Input

The given data will be placed into a data frame in the code chunk below.

factors<-expand.grid(A = factor(c(-1, 1)), B = factor(c(-1, 1)), C = factor(c(-1, 1)), D = factor(c(-1, 1)))
obs<-c(12, 18, 13, 16, 17, 15, 20, 15, 10, 25, 13, 24, 19, 21, 17, 23)
dat1<-data.frame(factors, obs)

3 Half Normal Plot

A half normal plot will be used on the data to determine which effects are significant and which are not significant. The code chunk for the half normal plot can be seen below.

#install.packages("FrF2")
library(FrF2)
model1<-aov(obs~A*B*C*D, data = dat1)
DanielPlot(model1, half = TRUE)

Based on the half normal plot, the significant effects are factors A & D as well as the two factor interactions A:C & A:D. All other effects will be removed from the model and an ANOVA analysis will be performed in the next section.

4 Factorial Design Analysis

The new model with the insignificant effects removed will have an ANOVA analysis performed in the code chunk below.

model2<-aov(obs~A + C + D + A:C + A:D, data = dat1)
summary(model2)
##             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

Since the two factor interactions A:C & A:D are both significant, interaction plots will be generated for these interactions in the code chunk below.

interaction.plot(dat1$A, dat1$C, dat1$obs, xlab = "Time", trace.label = "Pressure", ylab = "Yield (lbs)", main = "Interaction Plot Between Time and Pressure on Yield")

interaction.plot(dat1$A, dat1$D, dat1$obs, xlab = "Time", trace.label = "Temperature", ylab = "Yield (lbs)", main = "Interaction Plot Between Time and Temperature on Yield")

When the Pressure is at the low level, a change in the Time level changes the Yield significantly. However, when the Pressure is at the high level, a change in the Time level does not affect the Yield. When the Temperature is at the low level, a change in the Time level does not affect the Yield. However, when the Temperature is at the high level, a change in the Time level changes the Yield significantly.

5 Complete R Code

# Data Input
factors<-expand.grid(A = factor(c(-1, 1)), B = factor(c(-1, 1)), C = factor(c(-1, 1)), D = factor(c(-1, 1)))
obs<-c(12, 18, 13, 16, 17, 15, 20, 15, 10, 25, 13, 24, 19, 21, 17, 23)
dat1<-data.frame(factors, obs)

# Half Normal Plot
#install.packages("FrF2")
library(FrF2)
model1<-aov(obs~A*B*C*D, data = dat1)
DanielPlot(model1, half = TRUE)

# Factorial Design Analysis
model2<-aov(obs~A + C + D + A:C + A:D, data = dat1)
summary(model2)

interaction.plot(dat1$A, dat1$C, dat1$obs, xlab = "Time", trace.label = "Pressure", ylab = "Yield (lbs)", main = "Interaction Plot Between Time and Pressure on Yield")
interaction.plot(dat1$A, dat1$D, dat1$obs, xlab = "Time", trace.label = "Temperature", ylab = "Yield (lbs)", main = "Interaction Plot Between Time and Temperature on Yield")