Required Libraries:
library(FrF2)
## Warning: package 'FrF2' was built under R version 4.1.3
## Loading required package: DoE.base
## Warning: package 'DoE.base' was built under R version 4.1.3
## Loading required package: grid
## Loading required package: conf.design
## Registered S3 method overwritten by 'DoE.base':
## method from
## factorize.factor conf.design
##
## Attaching package: 'DoE.base'
## The following objects are masked from 'package:stats':
##
## aov, lm
## The following object is masked from 'package:graphics':
##
## plot.design
## The following object is masked from 'package:base':
##
## lengths
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.2 --
## v ggplot2 3.3.6 v purrr 0.3.4
## v tibble 3.1.6 v dplyr 1.0.9
## v tidyr 1.2.1 v stringr 1.4.1
## v readr 2.1.2 v forcats 0.5.2
## Warning: package 'ggplot2' was built under R version 4.1.3
## Warning: package 'tibble' was built under R version 4.1.3
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'purrr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## Warning: package 'stringr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
For the problem 6.15, which originally is a 24 design, running it at 1/2 fractional design makes it a 2^(4-1) deign with only 8 runs. So we generate our design table as such:
design8.2 <- FrF2(nfactors = 4, nruns = 8, randomize = FALSE)
summary(design8.2)
## Call:
## FrF2(nfactors = 4, nruns = 8, randomize = FALSE)
##
## Experimental design of type FrF2
## 8 runs
##
## Factor settings (scale ends):
## A B C D
## 1 -1 -1 -1 -1
## 2 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D
##
## $generators
## [1] D=ABC
##
##
## Alias structure:
## $fi2
## [1] AB=CD AC=BD AD=BC
##
##
## The design itself:
## A B C D
## 1 -1 -1 -1 -1
## 2 1 -1 -1 1
## 3 -1 1 -1 1
## 4 1 1 -1 -1
## 5 -1 -1 1 1
## 6 1 -1 1 -1
## 7 -1 1 1 -1
## 8 1 1 1 1
## class=design, type= FrF2
Now, we choose I = +abcd and attach them in our data table by matching them into the proper design set:
response8.2 <- c(7.037,16.867,13.876,17.273,11.846,4.368,9.360,15.653)
design8.2mod <- add.response(design8.2, response8.2)
summary(design8.2mod)
## Call:
## FrF2(nfactors = 4, nruns = 8, randomize = FALSE)
##
## Experimental design of type FrF2
## 8 runs
##
## Factor settings (scale ends):
## A B C D
## 1 -1 -1 -1 -1
## 2 1 1 1 1
##
## Responses:
## [1] response8.2
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D
##
## $generators
## [1] D=ABC
##
##
## Alias structure:
## $fi2
## [1] AB=CD AC=BD AD=BC
##
##
## The design itself:
## A B C D response8.2
## 1 -1 -1 -1 -1 7.037
## 2 1 -1 -1 1 16.867
## 3 -1 1 -1 1 13.876
## 4 1 1 -1 -1 17.273
## 5 -1 -1 1 1 11.846
## 6 1 -1 1 -1 4.368
## 7 -1 1 1 -1 9.360
## 8 1 1 1 1 15.653
## class=design, type= FrF2
Now we analyze our data using halfnormal and main-effects plots:
DanielPlot(design8.2mod, half = TRUE)
MEPlot(design8.2mod)
From the main effects plot, we see that all the factors have some level of effect on the response variable. This is evident from the fact that the response line change is not parallel to the horizontal when we change from low to high levels. Factors A,B,D show positive change in the response while shifting from low to high whereas C shows a negative trend in the response data.
From the half-normal plot, we see that none of the factors stand out to be significant.
A 2^(5-1) design is a resolution 5 design with 16 runs (From table 8.14 in the text book). As per the question, we generate tables to run the experiment in 2 separate blocks:
design8.24 <- FrF2(nfactor = 5, blocks = 2, nruns = 16)
design8.24noblock <- FrF2(nfactor = 5, nruns = 16)
summary(design8.24)
## Call:
## FrF2(nfactor = 5, blocks = 2, nruns = 16)
##
## Experimental design of type FrF2.blocked
## 16 runs
## blocked design with 2 blocks of size 8
##
## Factor settings (scale ends):
## A B C D E
## 1 -1 -1 -1 -1 -1
## 2 1 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D E=E
##
## $`generators for design itself`
## [1] E=ABC
##
## $`block generators`
## [1] ABD
##
##
## Alias structure:
## $fi2
## [1] AB=CE AC=BE AE=BC
##
## Aliased with block main effects:
## [1] none
##
## The design itself:
## run.no run.no.std.rp Blocks A B C D E
## 1 1 10.1.5 1 1 -1 -1 1 1
## 2 2 6.1.3 1 -1 1 -1 1 1
## 3 3 8.1.4 1 -1 1 1 1 -1
## 4 4 1.1.1 1 -1 -1 -1 -1 -1
## 5 5 13.1.7 1 1 1 -1 -1 -1
## 6 6 15.1.8 1 1 1 1 -1 1
## 7 7 12.1.6 1 1 -1 1 1 -1
## 8 8 3.1.2 1 -1 -1 1 -1 1
## run.no run.no.std.rp Blocks A B C D E
## 9 9 5.2.3 2 -1 1 -1 -1 1
## 10 10 4.2.2 2 -1 -1 1 1 1
## 11 11 7.2.4 2 -1 1 1 -1 -1
## 12 12 16.2.8 2 1 1 1 1 1
## 13 13 2.2.1 2 -1 -1 -1 1 -1
## 14 14 9.2.5 2 1 -1 -1 -1 1
## 15 15 14.2.7 2 1 1 -1 1 -1
## 16 16 11.2.6 2 1 -1 1 -1 -1
## class=design, type= FrF2.blocked
## NOTE: columns run.no and run.no.std.rp are annotation,
## not part of the data frame
summary(design8.24noblock)
## Call:
## FrF2(nfactor = 5, nruns = 16)
##
## Experimental design of type FrF2
## 16 runs
##
## Factor settings (scale ends):
## A B C D E
## 1 -1 -1 -1 -1 -1
## 2 1 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D E=E
##
## $generators
## [1] E=ABCD
##
##
## Alias structure:
## [[1]]
## [1] no aliasing among main effects and 2fis
##
##
## The design itself:
## A B C D E
## 1 1 -1 -1 1 1
## 2 -1 -1 -1 1 -1
## 3 -1 1 -1 1 1
## 4 -1 1 1 -1 1
## 5 -1 1 1 1 -1
## 6 -1 -1 -1 -1 1
## 7 1 1 1 -1 -1
## 8 1 -1 -1 -1 -1
## 9 -1 1 -1 -1 -1
## 10 1 1 -1 1 -1
## 11 1 -1 1 1 -1
## 12 1 1 -1 -1 1
## 13 1 -1 1 -1 1
## 14 -1 -1 1 1 1
## 15 1 1 1 1 1
## 16 -1 -1 1 -1 -1
## class=design, type= FrF2
Without adding the block, we see from the r-output that the resolution is 5 for a 2^(5-1) design.
From the FrF2-package generated design, we see that the 3-way interaction ABD is confounded with the block. Also, none of the main factor or 2-way interactions confounded with the blocks.
A 2^(7-2) design is a resolution 4 design with 32 runs (From table 8.14 in the text book). As per the question, we generate tables to run the experiment in 2 separate blocks:
design8.25 <- FrF2(nfactor = 7, blocks =4, nruns = 32)
design8.25noblock <- FrF2(nfactor = 7, nruns = 32)
summary(design8.25)
## Call:
## FrF2(nfactor = 7, blocks = 4, nruns = 32)
##
## Experimental design of type FrF2.blocked
## 32 runs
## blocked design with 4 blocks of size 8
##
## Factor settings (scale ends):
## A B C D E F G
## 1 -1 -1 -1 -1 -1 -1 -1
## 2 1 1 1 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D E=E F=F G=G
##
## $`generators for design itself`
## [1] F=ABC G=ABD
##
## $`block generators`
## [1] ACD ABE
##
##
## Alias structure:
## $fi2
## [1] AB=CF=DG AC=BF AD=BG AF=BC AG=BD CD=FG CG=DF
##
## Aliased with block main effects:
## [1] none
##
## The design itself:
## run.no run.no.std.rp Blocks A B C D E F G
## 1 1 20.1.5 1 1 -1 -1 1 1 1 -1
## 2 2 7.1.2 1 -1 -1 1 1 -1 1 1
## 3 3 22.1.6 1 1 -1 1 -1 1 -1 1
## 4 4 10.1.3 1 -1 1 -1 -1 1 1 1
## 5 5 16.1.4 1 -1 1 1 1 1 -1 -1
## 6 6 29.1.8 1 1 1 1 -1 -1 1 -1
## 7 7 27.1.7 1 1 1 -1 1 -1 -1 1
## 8 8 1.1.1 1 -1 -1 -1 -1 -1 -1 -1
## run.no run.no.std.rp Blocks A B C D E F G
## 9 9 28.2.7 2 1 1 -1 1 1 -1 1
## 10 10 15.2.4 2 -1 1 1 1 -1 -1 -1
## 11 11 30.2.8 2 1 1 1 -1 1 1 -1
## 12 12 9.2.3 2 -1 1 -1 -1 -1 1 1
## 13 13 21.2.6 2 1 -1 1 -1 -1 -1 1
## 14 14 2.2.1 2 -1 -1 -1 -1 1 -1 -1
## 15 15 8.2.2 2 -1 -1 1 1 1 1 1
## 16 16 19.2.5 2 1 -1 -1 1 -1 1 -1
## run.no run.no.std.rp Blocks A B C D E F G
## 17 17 14.3.4 3 -1 1 1 -1 1 -1 1
## 18 18 25.3.7 3 1 1 -1 -1 -1 -1 -1
## 19 19 5.3.2 3 -1 -1 1 -1 -1 1 -1
## 20 20 3.3.1 3 -1 -1 -1 1 -1 -1 1
## 21 21 24.3.6 3 1 -1 1 1 1 -1 -1
## 22 22 18.3.5 3 1 -1 -1 -1 1 1 1
## 23 23 12.3.3 3 -1 1 -1 1 1 1 -1
## 24 24 31.3.8 3 1 1 1 1 -1 1 1
## run.no run.no.std.rp Blocks A B C D E F G
## 25 25 32.4.8 4 1 1 1 1 1 1 1
## 26 26 13.4.4 4 -1 1 1 -1 -1 -1 1
## 27 27 4.4.1 4 -1 -1 -1 1 1 -1 1
## 28 28 17.4.5 4 1 -1 -1 -1 -1 1 1
## 29 29 11.4.3 4 -1 1 -1 1 -1 1 -1
## 30 30 6.4.2 4 -1 -1 1 -1 1 1 -1
## 31 31 26.4.7 4 1 1 -1 -1 1 -1 -1
## 32 32 23.4.6 4 1 -1 1 1 -1 -1 -1
## class=design, type= FrF2.blocked
## NOTE: columns run.no and run.no.std.rp are annotation,
## not part of the data frame
summary(design8.25noblock)
## Call:
## FrF2(nfactor = 7, nruns = 32)
##
## Experimental design of type FrF2
## 32 runs
##
## Factor settings (scale ends):
## A B C D E F G
## 1 -1 -1 -1 -1 -1 -1 -1
## 2 1 1 1 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D E=E F=F G=G
##
## $generators
## [1] F=ABC G=ABDE
##
##
## Alias structure:
## $fi2
## [1] AB=CF AC=BF AF=BC
##
##
## The design itself:
## A B C D E F G
## 1 -1 -1 -1 1 -1 -1 -1
## 2 1 1 -1 -1 -1 -1 1
## 3 -1 1 -1 1 1 1 -1
## 4 1 -1 1 1 1 -1 -1
## 5 -1 1 1 1 1 -1 -1
## 6 1 -1 1 -1 -1 -1 -1
## 7 1 1 1 1 1 1 1
## 8 1 -1 -1 -1 1 1 1
## 9 -1 -1 -1 -1 1 -1 -1
## 10 -1 -1 -1 1 1 -1 1
## 11 1 -1 1 -1 1 -1 1
## 12 -1 -1 -1 -1 -1 -1 1
## 13 -1 1 -1 -1 1 1 1
## 14 1 -1 -1 1 -1 1 1
## 15 -1 -1 1 -1 1 1 -1
## 16 -1 1 -1 -1 -1 1 -1
## 17 -1 -1 1 1 1 1 1
## 18 -1 -1 1 -1 -1 1 1
## 19 1 -1 -1 -1 -1 1 -1
## 20 -1 -1 1 1 -1 1 -1
## 21 1 1 1 -1 1 1 -1
## 22 1 1 -1 1 -1 -1 -1
## 23 1 1 -1 -1 1 -1 -1
## 24 -1 1 1 -1 1 -1 1
## 25 1 -1 -1 1 1 1 -1
## 26 1 1 1 -1 -1 1 1
## 27 1 -1 1 1 -1 -1 1
## 28 1 1 -1 1 1 -1 1
## 29 -1 1 1 -1 -1 -1 -1
## 30 1 1 1 1 -1 1 -1
## 31 -1 1 -1 1 -1 1 1
## 32 -1 1 1 1 -1 -1 1
## class=design, type= FrF2
Without adding the block, we see from the r-output that the resolution is 4 for a 2^(7-2) design.
From the FrF2-package generated design, we see that the 3-way interaction ACD and ABD are confounded with the block. Also, none of the main factor confounded with the blocks. The 2-way alias structures in the blocked design are: AB=CF=DG AC=BF AD=BG AF=BC AG=BD CD=FG CG=DF (from the r-output panel).
First, we generate our fractional factorial table, read in and sort the data from the problem using the following sets of command:
design8.28 <- FrF2(nfactor = 6, nrun = 16)
summary(design8.28)
## Call:
## FrF2(nfactor = 6, nrun = 16)
##
## Experimental design of type FrF2
## 16 runs
##
## Factor settings (scale ends):
## A B C D E F
## 1 -1 -1 -1 -1 -1 -1
## 2 1 1 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D E=E F=F
##
## $generators
## [1] E=ABC F=ABD
##
##
## Alias structure:
## $fi2
## [1] AB=CE=DF AC=BE AD=BF AE=BC AF=BD CD=EF CF=DE
##
##
## The design itself:
## A B C D E F
## 1 1 -1 -1 1 1 -1
## 2 -1 -1 1 1 1 1
## 3 -1 -1 -1 1 -1 1
## 4 1 1 -1 1 -1 1
## 5 1 -1 1 1 -1 -1
## 6 -1 1 1 -1 -1 1
## 7 1 -1 1 -1 -1 1
## 8 -1 1 1 1 -1 -1
## 9 -1 -1 1 -1 1 -1
## 10 -1 -1 -1 -1 -1 -1
## 11 -1 1 -1 -1 1 1
## 12 1 1 -1 -1 -1 -1
## 13 -1 1 -1 1 1 -1
## 14 1 1 1 1 1 1
## 15 1 -1 -1 -1 1 1
## 16 1 1 1 -1 1 -1
## class=design, type= FrF2
table8.28 <- read.csv(file.choose())
table8.28 <- as.data.frame(table8.28)
str(table8.28)
## 'data.frame': 16 obs. of 14 variables:
## $ Run : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Ltem : int 55 75 55 75 55 75 55 75 55 75 ...
## $ Ltim : int 10 10 25 25 10 10 25 25 10 10 ...
## $ Lpre : int 5 5 5 5 10 10 10 10 5 5 ...
## $ FirT : int 1580 1580 1580 1580 1580 1580 1580 1580 1620 1620 ...
## $ Firct : num 17.5 29 29 17.5 29 17.5 17.5 29 17.5 29 ...
## $ Fidp : int 20 26 20 26 26 20 26 20 26 20 ...
## $ Cam1 : num 0.0167 0.0062 0.0041 0.0073 0.0047 0.0219 0.0121 0.0255 0.0032 0.0078 ...
## $ Cam2 : num 0.0128 0.0066 0.0043 0.0081 0.0047 0.0258 0.009 0.025 0.0023 0.0158 ...
## $ Cam3 : num 0.0149 0.0044 0.0042 0.0039 0.004 0.0147 0.0092 0.0226 0.0077 0.006 ...
## $ Cam4 : num 0.0185 0.002 0.005 0.003 0.0089 0.0296 0.0086 0.0169 0.0069 0.0045 ...
## $ Total : int 629 192 176 223 223 920 389 900 201 341 ...
## $ Mean : num 157.2 48 44 55.8 55.8 ...
## $ St.Dev: num 24.42 20.98 4.08 25.02 22.41 ...
table8.28 <- table8.28 %>% mutate(var = St.Dev^2)
table8.28$Ltem <- as.factor(table8.28$Ltem)
table8.28$Ltim <- as.factor(table8.28$Ltim)
table8.28$Lpre <- as.factor(table8.28$Lpre)
table8.28$FirT <- as.factor(table8.28$FirT)
table8.28$Firct <- as.factor(table8.28$Firct)
table8.28$Fidp <- as.factor(table8.28$Fidp)
table8.28
## Run Ltem Ltim Lpre FirT Firct Fidp Cam1 Cam2 Cam3 Cam4 Total Mean
## 1 1 55 10 5 1580 17.5 20 0.0167 0.0128 0.0149 0.0185 629 157.25
## 2 2 75 10 5 1580 29 26 0.0062 0.0066 0.0044 0.0020 192 48.00
## 3 3 55 25 5 1580 29 20 0.0041 0.0043 0.0042 0.0050 176 44.00
## 4 4 75 25 5 1580 17.5 26 0.0073 0.0081 0.0039 0.0030 223 55.75
## 5 5 55 10 10 1580 29 26 0.0047 0.0047 0.0040 0.0089 223 55.75
## 6 6 75 10 10 1580 17.5 20 0.0219 0.0258 0.0147 0.0296 920 230.00
## 7 7 55 25 10 1580 17.5 26 0.0121 0.0090 0.0092 0.0086 389 97.25
## 8 8 75 25 10 1580 29 20 0.0255 0.0250 0.0226 0.0169 900 225.00
## 9 9 55 10 5 1620 17.5 26 0.0032 0.0023 0.0077 0.0069 201 50.25
## 10 10 75 10 5 1620 29 20 0.0078 0.0158 0.0060 0.0045 341 85.25
## 11 11 55 25 5 1620 29 26 0.0043 0.0027 0.0028 0.0028 126 31.50
## 12 12 75 25 5 1620 17.5 20 0.0186 0.0137 0.0158 0.0159 640 160.00
## 13 13 55 10 10 1620 29 20 0.0110 0.0086 0.0101 0.0158 455 113.75
## 14 14 75 10 10 1620 17.5 26 0.0065 0.0109 0.0126 0.0071 371 92.75
## 15 15 55 25 10 1620 17.5 20 0.0155 0.0158 0.0145 0.0145 603 150.75
## 16 16 75 25 10 1620 29 26 0.0093 0.0124 0.0110 0.0133 460 115.00
## St.Dev var
## 1 24.418 596.23872
## 2 20.976 439.99258
## 3 4.083 16.67089
## 4 25.025 626.25062
## 5 22.410 502.20810
## 6 63.639 4049.92232
## 7 16.029 256.92884
## 8 39.420 1553.93640
## 9 26.725 714.22563
## 10 50.341 2534.21628
## 11 7.681 58.99776
## 12 20.083 403.32689
## 13 31.120 968.45440
## 14 29.510 870.84010
## 15 6.750 45.56250
## 16 17.450 304.50250
a. The design is a 2^(6-2) 1/4th fractional factorial design.
b. The alias relations in the design are as follows:
Design generators: E = +ABC, F = F = BCD
I = ABCE, I = BCDF, generalized interaction: I = ADEF
c. The effect of the factors on the mean value of the camber:
model8.28 <- lm(Mean~Ltem+Ltim+Lpre+FirT+Firct+Fidp, data = table8.28)
model8.28x <- lm(Mean~Ltem*Ltim*Lpre*FirT*Firct*Fidp, data = table8.28)
summary(model8.28)
##
## Call:
## lm.default(formula = Mean ~ Ltem + Ltim + Lpre + FirT + Firct +
## Fidp, data = table8.28)
##
## Residuals:
## Min 1Q Median 3Q Max
## -47.047 -18.609 -2.766 21.078 39.016
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 119.734 22.584 5.302 0.000493 ***
## Ltem75 38.906 17.072 2.279 0.048649 *
## Ltim25 5.781 17.072 0.339 0.742652
## Lpre10 56.031 17.072 3.282 0.009499 **
## FirT1620 -14.219 17.072 -0.833 0.426474
## Firct29 -34.469 17.072 -2.019 0.074243 .
## Fidp26 -77.469 17.072 -4.538 0.001411 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 34.14 on 9 degrees of freedom
## Multiple R-squared: 0.8216, Adjusted R-squared: 0.7026
## F-statistic: 6.907 on 6 and 9 DF, p-value: 0.005587
DanielPlot(model8.28x, half = TRUE)
MEPlot(model8.28x)
For this part, we only used the mean value provided in the table rather than using the individual values of the cambers themselves. From the linear model we see that the camber temperature, pressure and firing dew point are the most critical factors. These are also visually conspicuous from the main effects plot where temperature and pressure show positive correlations with the response variable whereas the firing dew point shows a significant negative correlation.
d. The effect of the factors on the variability of the camber:
model8.28var <- lm(St.Dev~Ltem+Ltim+Lpre+FirT+Firct+Fidp, data = table8.28)
model8.28varx <- lm(St.Dev~Ltem*Ltim*Lpre*FirT*Firct*Fidp, data = table8.28)
summary(model8.28var)
##
## Call:
## lm.default(formula = St.Dev ~ Ltem + Ltim + Lpre + FirT + Firct +
## Fidp, data = table8.28)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.5305 -6.4099 -0.6943 7.0071 11.6647
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30.196 6.974 4.330 0.0019 **
## Ltem75 15.903 5.272 3.017 0.0146 *
## Ltim25 -16.577 5.272 -3.145 0.0118 *
## Lpre10 5.874 5.272 1.114 0.2940
## FirT1620 -3.293 5.272 -0.625 0.5478
## Firct29 -2.337 5.272 -0.443 0.6680
## Fidp26 -9.256 5.272 -1.756 0.1130
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 10.54 on 9 degrees of freedom
## Multiple R-squared: 0.7265, Adjusted R-squared: 0.5441
## F-statistic: 3.984 on 6 and 9 DF, p-value: 0.03162
DanielPlot(model8.28varx, half = TRUE)
MEPlot(model8.28varx)
For this part, we see that the laminating temperature and time are the significant factors from the linear model and also from the half normal plot. Also from the main effects plot, we see that those two parameters (time and temperature) show the highest level of inclination in the response change with the change in the levels of the factors.
e. In reducing the camber, we reduce the camber mean. First we build our linear model:
model8.28e <- lm(Mean~Ltem*Ltim*Lpre*FirT*Firct*Fidp, data = table8.28)
summary(model8.28e)
##
## Call:
## lm.default(formula = Mean ~ Ltem * Ltim * Lpre * FirT * Firct *
## Fidp, data = table8.28)
##
## Residuals:
## ALL 16 residuals are 0: no residual degrees of freedom!
##
## Coefficients: (48 not defined because of singularities)
## Estimate Std. Error t value
## (Intercept) 157.250 NaN NaN
## Ltem75 10.094 NaN NaN
## Ltim25 -71.375 NaN NaN
## Lpre10 17.844 NaN NaN
## FirT1620 -29.531 NaN NaN
## Firct29 -41.875 NaN NaN
## Fidp26 -77.469 NaN NaN
## Ltem75:Ltim25 37.250 NaN NaN
## Ltem75:Lpre10 44.813 NaN NaN
## Ltim25:Lpre10 71.000 NaN NaN
## Ltem75:FirT1620 -25.500 NaN NaN
## Ltim25:FirT1620 79.687 NaN NaN
## Lpre10:FirT1620 -4.750 NaN NaN
## Ltem75:Firct29 NA NA NA
## Ltim25:Firct29 NA NA NA
## Lpre10:Firct29 NA NA NA
## FirT1620:Firct29 14.812 NaN NaN
## Ltem75:Fidp26 NA NA NA
## Ltim25:Fidp26 NA NA NA
## Lpre10:Fidp26 NA NA NA
## FirT1620:Fidp26 NA NA NA
## Firct29:Fidp26 NA NA NA
## Ltem75:Ltim25:Lpre10 NA NA NA
## Ltem75:Ltim25:FirT1620 2.125 NaN NaN
## Ltem75:Lpre10:FirT1620 NA NA NA
## Ltim25:Lpre10:FirT1620 -69.375 NaN NaN
## Ltem75:Ltim25:Firct29 NA NA NA
## Ltem75:Lpre10:Firct29 NA NA NA
## Ltim25:Lpre10:Firct29 NA NA NA
## Ltem75:FirT1620:Firct29 NA NA NA
## Ltim25:FirT1620:Firct29 NA NA NA
## Lpre10:FirT1620:Firct29 NA NA NA
## Ltem75:Ltim25:Fidp26 NA NA NA
## Ltem75:Lpre10:Fidp26 NA NA NA
## Ltim25:Lpre10:Fidp26 NA NA NA
## Ltem75:FirT1620:Fidp26 NA NA NA
## Ltim25:FirT1620:Fidp26 NA NA NA
## Lpre10:FirT1620:Fidp26 NA NA NA
## Ltem75:Firct29:Fidp26 NA NA NA
## Ltim25:Firct29:Fidp26 NA NA NA
## Lpre10:Firct29:Fidp26 NA NA NA
## FirT1620:Firct29:Fidp26 NA NA NA
## Ltem75:Ltim25:Lpre10:FirT1620 NA NA NA
## Ltem75:Ltim25:Lpre10:Firct29 NA NA NA
## Ltem75:Ltim25:FirT1620:Firct29 NA NA NA
## Ltem75:Lpre10:FirT1620:Firct29 NA NA NA
## Ltim25:Lpre10:FirT1620:Firct29 NA NA NA
## Ltem75:Ltim25:Lpre10:Fidp26 NA NA NA
## Ltem75:Ltim25:FirT1620:Fidp26 NA NA NA
## Ltem75:Lpre10:FirT1620:Fidp26 NA NA NA
## Ltim25:Lpre10:FirT1620:Fidp26 NA NA NA
## Ltem75:Ltim25:Firct29:Fidp26 NA NA NA
## Ltem75:Lpre10:Firct29:Fidp26 NA NA NA
## Ltim25:Lpre10:Firct29:Fidp26 NA NA NA
## Ltem75:FirT1620:Firct29:Fidp26 NA NA NA
## Ltim25:FirT1620:Firct29:Fidp26 NA NA NA
## Lpre10:FirT1620:Firct29:Fidp26 NA NA NA
## Ltem75:Ltim25:Lpre10:FirT1620:Firct29 NA NA NA
## Ltem75:Ltim25:Lpre10:FirT1620:Fidp26 NA NA NA
## Ltem75:Ltim25:Lpre10:Firct29:Fidp26 NA NA NA
## Ltem75:Ltim25:FirT1620:Firct29:Fidp26 NA NA NA
## Ltem75:Lpre10:FirT1620:Firct29:Fidp26 NA NA NA
## Ltim25:Lpre10:FirT1620:Firct29:Fidp26 NA NA NA
## Ltem75:Ltim25:Lpre10:FirT1620:Firct29:Fidp26 NA NA NA
## Pr(>|t|)
## (Intercept) NaN
## Ltem75 NaN
## Ltim25 NaN
## Lpre10 NaN
## FirT1620 NaN
## Firct29 NaN
## Fidp26 NaN
## Ltem75:Ltim25 NaN
## Ltem75:Lpre10 NaN
## Ltim25:Lpre10 NaN
## Ltem75:FirT1620 NaN
## Ltim25:FirT1620 NaN
## Lpre10:FirT1620 NaN
## Ltem75:Firct29 NA
## Ltim25:Firct29 NA
## Lpre10:Firct29 NA
## FirT1620:Firct29 NaN
## Ltem75:Fidp26 NA
## Ltim25:Fidp26 NA
## Lpre10:Fidp26 NA
## FirT1620:Fidp26 NA
## Firct29:Fidp26 NA
## Ltem75:Ltim25:Lpre10 NA
## Ltem75:Ltim25:FirT1620 NaN
## Ltem75:Lpre10:FirT1620 NA
## Ltim25:Lpre10:FirT1620 NaN
## Ltem75:Ltim25:Firct29 NA
## Ltem75:Lpre10:Firct29 NA
## Ltim25:Lpre10:Firct29 NA
## Ltem75:FirT1620:Firct29 NA
## Ltim25:FirT1620:Firct29 NA
## Lpre10:FirT1620:Firct29 NA
## Ltem75:Ltim25:Fidp26 NA
## Ltem75:Lpre10:Fidp26 NA
## Ltim25:Lpre10:Fidp26 NA
## Ltem75:FirT1620:Fidp26 NA
## Ltim25:FirT1620:Fidp26 NA
## Lpre10:FirT1620:Fidp26 NA
## Ltem75:Firct29:Fidp26 NA
## Ltim25:Firct29:Fidp26 NA
## Lpre10:Firct29:Fidp26 NA
## FirT1620:Firct29:Fidp26 NA
## Ltem75:Ltim25:Lpre10:FirT1620 NA
## Ltem75:Ltim25:Lpre10:Firct29 NA
## Ltem75:Ltim25:FirT1620:Firct29 NA
## Ltem75:Lpre10:FirT1620:Firct29 NA
## Ltim25:Lpre10:FirT1620:Firct29 NA
## Ltem75:Ltim25:Lpre10:Fidp26 NA
## Ltem75:Ltim25:FirT1620:Fidp26 NA
## Ltem75:Lpre10:FirT1620:Fidp26 NA
## Ltim25:Lpre10:FirT1620:Fidp26 NA
## Ltem75:Ltim25:Firct29:Fidp26 NA
## Ltem75:Lpre10:Firct29:Fidp26 NA
## Ltim25:Lpre10:Firct29:Fidp26 NA
## Ltem75:FirT1620:Firct29:Fidp26 NA
## Ltim25:FirT1620:Firct29:Fidp26 NA
## Lpre10:FirT1620:Firct29:Fidp26 NA
## Ltem75:Ltim25:Lpre10:FirT1620:Firct29 NA
## Ltem75:Ltim25:Lpre10:FirT1620:Fidp26 NA
## Ltem75:Ltim25:Lpre10:Firct29:Fidp26 NA
## Ltem75:Ltim25:FirT1620:Firct29:Fidp26 NA
## Ltem75:Lpre10:FirT1620:Firct29:Fidp26 NA
## Ltim25:Lpre10:FirT1620:Firct29:Fidp26 NA
## Ltem75:Ltim25:Lpre10:FirT1620:Firct29:Fidp26 NA
##
## Residual standard error: NaN on 0 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: NaN
## F-statistic: NaN on 15 and 0 DF, p-value: NA
So from the estimates we see that the temperature and pressure have negative yield one the camber. Rest of all the factors have a positive yield on the camber.
Based on the mean of the camber value, we have the following linear model equation:
y = 157.250 + 10.094*LamTemp -71.375*LamTIme -17.844*LamPress - 29.534*FireTime - 41.875*FireCycTime - 77.864*FireDew
Hence, to reduce the camber, based on the estimates from our linear model we do the following:
Set to low: Lamination temperature and pressure.
Set to High: Lamination time, Firing temperature, Firing cycle time, and firing dew point. This should reduce the mean of the response variable which is our camber value.
a. The experiment investigated 4 factors namely: a,b,c,d.
b. There are 4 factors and 8 runs, hence this is a 2^(4-1) design. From table 8.14 we see that this is a resolution 4 design where no main effect is aliased with the two-factor interactions but 2 factor ineractions are aliased with each other.
c. To calculate the estimate of the main effects, we generate our factorial design table and put the response data in:
design8.40 <- FrF2(nfactor = 4, nrun = 8, randomize = FALSE)
summary(design8.40)
## Call:
## FrF2(nfactor = 4, nrun = 8, randomize = FALSE)
##
## Experimental design of type FrF2
## 8 runs
##
## Factor settings (scale ends):
## A B C D
## 1 -1 -1 -1 -1
## 2 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D
##
## $generators
## [1] D=ABC
##
##
## Alias structure:
## $fi2
## [1] AB=CD AC=BD AD=BC
##
##
## The design itself:
## A B C D
## 1 -1 -1 -1 -1
## 2 1 -1 -1 1
## 3 -1 1 -1 1
## 4 1 1 -1 -1
## 5 -1 -1 1 1
## 6 1 -1 1 -1
## 7 -1 1 1 -1
## 8 1 1 1 1
## class=design, type= FrF2
response8.40 <- c(8,10,12,7,13,6,5,11)
design8.40 <- add.response(design8.40, response8.40)
Now, we determine the estimates of the main effects:
coef(lm(design8.40))[-1]*2
## A1 B1 C1 D1 A1:B1 A1:C1 A1:D1
## -1.0 -0.5 -0.5 5.0 1.5 0.5 -1.0
So the effect estimates are
A = -1
B = - 0.5
C = - 0.5
D = 5
d. The complete defining relationship for this design is:
generators(design8.40)
## $generators
## [1] "D=ABC"
So from the generator information provided to us by FrF2 package, defining relationship, I = ABCD
a. Based on manual observation, the generator for D = -(abc)
b. generator for E = BC
c. Now, we generate the table exactly as provided in the original question using the FrF2 package:
design8.48 <- FrF2(nfactors = 5, nruns = 8, generators = c("-ABC","BC"), randomize = FALSE)
summary(design8.48)
## Call:
## FrF2(nfactors = 5, nruns = 8, generators = c("-ABC", "BC"), randomize = FALSE)
##
## Experimental design of type FrF2.generators
## 8 runs
##
## Factor settings (scale ends):
## A B C D E
## 1 -1 -1 -1 -1 -1
## 2 1 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D E=E
##
## $generators
## [1] D=-ABC E=BC
##
##
## Alias structure:
## $main
## [1] A=-DE B=CE C=BE D=-AE E=-AD=BC
##
## $fi2
## [1] AB=-CD AC=-BD
##
##
## The design itself:
## A B C D E
## 1 -1 -1 -1 1 1
## 2 1 -1 -1 -1 1
## 3 -1 1 -1 -1 -1
## 4 1 1 -1 1 -1
## 5 -1 -1 1 -1 -1
## 6 1 -1 1 1 -1
## 7 -1 1 1 1 1
## 8 1 1 1 -1 1
## class=design, type= FrF2.generators
Now, if we have a full fold-over:
design8.48fold <- fold.design(design8.48)
summary(design8.48fold)
## Multi-step-call:
## [[1]]
## FrF2(nfactors = 5, nruns = 8, generators = c("-ABC", "BC"), randomize = FALSE)
##
## $fold
## [1] full
##
##
## Experimental design of type FrF2.generators.folded
## 16 runs
##
## Factor settings (scale ends):
## A B C fold D E
## 1 -1 -1 -1 original -1 -1
## 2 1 1 1 mirror 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=fold E=D F=E
##
##
## Alias structure:
## $fi2
## [1] AB=-CE AC=-BE AD=EF AE=-BC=DF AF=DE BD=-CF BF=-CD
##
##
## The design itself:
## A B C fold D E
## 1 -1 -1 -1 original 1 1
## 2 1 -1 -1 original -1 1
## 3 -1 1 -1 original -1 -1
## 4 1 1 -1 original 1 -1
## 5 -1 -1 1 original -1 -1
## 6 1 -1 1 original 1 -1
## 7 -1 1 1 original 1 1
## 8 1 1 1 original -1 1
## 9 1 1 1 mirror -1 -1
## 10 -1 1 1 mirror 1 -1
## 11 1 -1 1 mirror 1 1
## 12 -1 -1 1 mirror -1 1
## 13 1 1 -1 mirror 1 1
## 14 -1 1 -1 mirror -1 1
## 15 1 -1 -1 mirror -1 -1
## 16 -1 -1 -1 mirror 1 -1
## class=design, type= FrF2.generators.folded
From the folded design, we see that none of the main factors are confounded with the 2 factor interactions but the 2 factor interactions are confounded with each other. So this is a resolution 4 design after the full fold over.
We first construct our table as per the information provided:
design8.60 <- FrF2(nfactors = 7, resolution = 3, randomize = FALSE)
summary(design8.60)
## Call:
## FrF2(nfactors = 7, resolution = 3, randomize = FALSE)
##
## Experimental design of type FrF2
## 8 runs
##
## Factor settings (scale ends):
## A B C D E F G
## 1 -1 -1 -1 -1 -1 -1 -1
## 2 1 1 1 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=D E=E F=F G=G
##
## $generators
## [1] D=AB E=AC F=BC G=ABC
##
##
## Alias structure:
## $main
## [1] A=BD=CE=FG B=AD=CF=EG C=AE=BF=DG D=AB=CG=EF E=AC=BG=DF F=AG=BC=DE G=AF=BE=CD
##
##
## The design itself:
## A B C D E F G
## 1 -1 -1 -1 1 1 1 -1
## 2 1 -1 -1 -1 -1 1 1
## 3 -1 1 -1 -1 1 -1 1
## 4 1 1 -1 1 -1 -1 -1
## 5 -1 -1 1 1 -1 -1 1
## 6 1 -1 1 -1 1 -1 -1
## 7 -1 1 1 -1 -1 1 -1
## 8 1 1 1 1 1 1 1
## class=design, type= FrF2
Now, we perform a full fold-over:
design8.60fullful <- fold.design(design8.60)
summary(design8.60fullful)
## Multi-step-call:
## [[1]]
## FrF2(nfactors = 7, resolution = 3, randomize = FALSE)
##
## $fold
## [1] full
##
##
## Experimental design of type FrF2.folded
## 16 runs
##
## Factor settings (scale ends):
## A B C fold D E F G
## 1 -1 -1 -1 original -1 -1 -1 -1
## 2 1 1 1 mirror 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=fold E=D F=E G=F H=G
##
##
## Alias structure:
## $fi2
## [1] AB=CH=-DE=FG AC=BH=-DF=EG AD=-BE=-CF=-GH AE=-BD=CG=FH AF=BG=-CD=EH
## [6] AG=BF=CE=-DH AH=BC=-DG=EF
##
##
## The design itself:
## A B C fold D E F G
## 1 -1 -1 -1 original 1 1 1 -1
## 2 1 -1 -1 original -1 -1 1 1
## 3 -1 1 -1 original -1 1 -1 1
## 4 1 1 -1 original 1 -1 -1 -1
## 5 -1 -1 1 original 1 -1 -1 1
## 6 1 -1 1 original -1 1 -1 -1
## 7 -1 1 1 original -1 -1 1 -1
## 8 1 1 1 original 1 1 1 1
## 9 1 1 1 mirror -1 -1 -1 1
## 10 -1 1 1 mirror 1 1 -1 -1
## 11 1 -1 1 mirror 1 -1 1 -1
## 12 -1 -1 1 mirror -1 1 1 1
## 13 1 1 -1 mirror -1 1 1 -1
## 14 -1 1 -1 mirror 1 -1 1 1
## 15 1 -1 -1 mirror 1 1 -1 1
## 16 -1 -1 -1 mirror -1 -1 -1 -1
## class=design, type= FrF2.folded
For partial fold over just the factor A:
design8.60A <- fold.design(design8.60, column = +1)
summary(design8.60A)
## Multi-step-call:
## [[1]]
## FrF2(nfactors = 7, resolution = 3, randomize = FALSE)
##
## $fold
## [1] 1
##
##
## Experimental design of type FrF2.folded
## 16 runs
##
## Factor settings (scale ends):
## A B C fold D E F G
## 1 -1 -1 -1 original -1 -1 -1 -1
## 2 1 1 1 mirror 1 1 1 1
##
## Design generating information:
## $legend
## [1] A=A B=B C=C D=fold E=D F=E G=F H=G
##
##
## Alias structure:
## $main
## [1] B=CG=FH C=BG=EH E=CH=FG F=BH=EG G=BC=EF H=BF=CE
##
## $fi2
## [1] AB=-DE AC=-DF AD=-BE=-CF=-GH AE=-BD AF=-CD
## [6] AG=-DH AH=-DG
##
##
## The design itself:
## A B C fold D E F G
## 1 -1 -1 -1 original 1 1 1 -1
## 2 1 -1 -1 original -1 -1 1 1
## 3 -1 1 -1 original -1 1 -1 1
## 4 1 1 -1 original 1 -1 -1 -1
## 5 -1 -1 1 original 1 -1 -1 1
## 6 1 -1 1 original -1 1 -1 -1
## 7 -1 1 1 original -1 -1 1 -1
## 8 1 1 1 original 1 1 1 1
## 9 1 -1 -1 mirror 1 1 1 -1
## 10 -1 -1 -1 mirror -1 -1 1 1
## 11 1 1 -1 mirror -1 1 -1 1
## 12 -1 1 -1 mirror 1 -1 -1 -1
## 13 1 -1 1 mirror 1 -1 -1 1
## 14 -1 -1 1 mirror -1 1 -1 -1
## 15 1 1 1 mirror -1 -1 1 -1
## 16 -1 1 1 mirror 1 1 1 1
## class=design, type= FrF2.folded
From the output of the FrF2 package, we get the alias structure of the main effects are given by:
B=CG=FH C=BG=EH E=CH=FG F=BH=EG G=BC=EF H=BF=CE
Full Code Chunk:
install.packages("FrF2")
library(FrF2)
library(tidyverse)
#Problem 8.2
design8.2 <- FrF2(nfactors = 4, nruns = 8, randomize = FALSE)
#We choose the response based on I = +ABCD from the original 6.15 table; also match the sequence of +/- with our generated table
response8.2 <- c(7.037,16.867,13.876,17.273,11.846,4.368,9.360,15.653)
design8.2mod <- add.response(design8.2, response8.2)
DanielPlot(design8.2mod)
MEPlot(design8.2mod)
#Problem 8.24
?FrF2
design8.24 <- FrF2(nfactor = 5, blocks = 2, nruns = 16)
design8.24
aliasprint(design8.24)
summary(design8.24)
#how to interpret this table and say which main/2-way interaction are confounded with the blocks?
#Problem 8.25
?FrF2
design8.25 <- FrF2(nfactor = 7, nruns = 32)
design8.25
aliasprint(design8.25)
summary(design8.25)
#how to interpret this table and say which main/2-way interaction are confounded with the blocks?
#problem 8.28
design8.28 <- FrF2(nfactor = 6, nrun = 16)
summary(design8.28)
table8.28 <- read.csv(file.choose())
table8.28 <- as.data.frame(table8.28)
str(table8.28)
table8.28 <- table8.28 %>% mutate(var = St.Dev^2)
table8.28$Ltem <- as.factor(table8.28$Ltem)
table8.28$Ltim <- as.factor(table8.28$Ltim)
table8.28$Lpre <- as.factor(table8.28$Lpre)
table8.28$FirT <- as.factor(table8.28$FirT)
table8.28$Firct <- as.factor(table8.28$Firct)
table8.28$Fidp <- as.factor(table8.28$Fidp)
model8.28 <- lm(Mean~Ltem+Ltim+Lpre+FirT+Firct+Fidp, data = table8.28)
summary(model8.28)
DanielPlot(model8.28)
MEPlot(model8.28)
model8.28var <- lm(St.Dev~Ltem+Ltim+Lpre+FirT+Firct+Fidp, data = table8.28)
summary(model8.28var)
DanielPlot(model8.28var)
MEPlot(model8.28var)
#Are we supposed to use the "Mean" column or use all the camber replicate column?
#Var-Interacting all of them
model8.28var <- lm(var~Ltem*Ltim*Lpre*FirT*Firct*Fidp, data = table8.28)
summary(model8.28var)
DanielPlot(model8.28var)
#Var-only additive main effects
model8.28var <- lm(St.Dev~Ltem+Ltim+Lpre+FirT+Firct+Fidp, data = table8.28)
summary(model8.28var)
DanielPlot(model8.28var)
#If we use interacting all of them--we don't get any significance; if we use additive--we don't get any daniel plots
#Don't know how to do part E
#problem 8.40
#four factors investigated
#resolution is 4
design8.40 <- FrF2(nfactor = 4, nrun = 8, randomize = FALSE)
summary(design8.40)
response8.40 <- c(8,10,12,7,13,6,5,11)
design8.40 <- add.response(design8.40, response8.40)
coef(lm(design8.40))
#Problem with figuring out the effect
#Problem with question D ("Complete Defining Relationship?")
#problem 8.48
design8.48 <- FrF2(nfactors = 5, nruns = 8, generators = c("-ABC","BC"), randomize = FALSE)
summary(design8.48)
design8.48fold <- fold.design(design8.48)
summary(design8.48fold)
#Res4 design after fold cause no main effect is confounded with a 2 factor-inter but 2 factors inters are confounded with each other
design8.60 <- FrF2(nfactors = 7, resolution = 3, randomize = FALSE)
summary(design8.60)
design8.60fullful <- fold.design(design8.60)
summary(design8.60fullful)
design8.60A <- fold.design(design8.60, column = 1)
summary(design8.60A)