Question 1:

(a).

Model Equation: \(y_{ijk} = \mu + \tau_i+ \beta_j+ \gamma_k+ (\tau_\beta )_{ij}+(\tau \gamma )_{ik}+(\beta \gamma )_{jk}+(\tau \beta \gamma)_{ijk}+ \varepsilon_{ijkl}\)

Hypothesis: \(H_\circ : (\tau \beta \gamma)_{ijk} = 0\)

(b).

Data Input using read.csv.

df<-read.csv("https://raw.githubusercontent.com/tmatis12/datafiles/main/PowderProduction.csv",header=TRUE)
df1<-data.frame(df)
df1
##    Ammonium StirRate Temperature Density
## 1         2      100           8   14.68
## 2         2      100           8   15.18
## 3        30      100           8   15.12
## 4        30      100           8   17.48
## 5         2      150           8    7.54
## 6         2      150           8    6.66
## 7        30      150           8   12.46
## 8        30      150           8   12.62
## 9         2      100          40   10.95
## 10        2      100          40   17.68
## 11       30      100          40   12.65
## 12       30      100          40   15.96
## 13        2      150          40    8.03
## 14        2      150          40    8.84
## 15       30      150          40   14.96
## 16       30      150          40   14.96
library(GAD)
df1$Ammonium<-as.fixed(df1$Ammonium)
df1$StirRate<-as.fixed(df1$StirRate)
df1$Temperature<-as.fixed(df1$Temperature)
model<-aov(df1$Density~df1$Ammonium+df1$StirRate+df1$Temperature+df1$Ammonium*df1$StirRate+df1$Ammonium*df1$Temperature+df1$StirRate*df1$Temperature+df1$Ammonium*df1$StirRate*df1$Temperature)
GAD::gad(model)
## $anova
## Analysis of Variance Table
## 
## Response: df1$Density
##                                           Df Sum Sq Mean Sq F value   Pr(>F)   
## df1$Ammonium                               1 44.389  44.389 11.1803 0.010175 * 
## df1$StirRate                               1 70.686  70.686 17.8037 0.002918 **
## df1$Temperature                            1  0.328   0.328  0.0826 0.781170   
## df1$Ammonium:df1$StirRate                  1 28.117  28.117  7.0817 0.028754 * 
## df1$Ammonium:df1$Temperature               1  0.022   0.022  0.0055 0.942808   
## df1$StirRate:df1$Temperature               1 10.128  10.128  2.5510 0.148890   
## df1$Ammonium:df1$StirRate:df1$Temperature  1  1.519   1.519  0.3826 0.553412   
## Residuals                                  8 31.762   3.970                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model)
##                                           Df Sum Sq Mean Sq F value  Pr(>F)   
## df1$Ammonium                               1  44.39   44.39  11.180 0.01018 * 
## df1$StirRate                               1  70.69   70.69  17.804 0.00292 **
## df1$Temperature                            1   0.33    0.33   0.083 0.78117   
## df1$Ammonium:df1$StirRate                  1  28.12   28.12   7.082 0.02875 * 
## df1$Ammonium:df1$Temperature               1   0.02    0.02   0.005 0.94281   
## df1$StirRate:df1$Temperature               1  10.13   10.13   2.551 0.14889   
## df1$Ammonium:df1$StirRate:df1$Temperature  1   1.52    1.52   0.383 0.55341   
## Residuals                                  8  31.76    3.97                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
interaction.plot(df1$StirRate,df1$Ammonium,df1$Density,col=c("BLUE","RED"))

COMMENT:

The 3 factor interaction P(value) is 0.55341, which greater than the alpha (0.05), hence we fail to reject the Null hypothesis of 3 factor interaction.

model1<-aov(df1$Density~df1$Ammonium+df1$StirRate+df1$Temperature+df1$Ammonium*df1$StirRate+df1$Ammonium*df1$Temperature+df1$StirRate*df1$Temperature)
GAD::gad(model1)
## $anova
## Analysis of Variance Table
## 
## Response: df1$Density
##                              Df Sum Sq Mean Sq F value   Pr(>F)   
## df1$Ammonium                  1 44.389  44.389 12.0037 0.007109 **
## df1$StirRate                  1 70.686  70.686 19.1150 0.001792 **
## df1$Temperature               1  0.328   0.328  0.0886 0.772681   
## df1$Ammonium:df1$StirRate     1 28.117  28.117  7.6033 0.022206 * 
## df1$Ammonium:df1$Temperature  1  0.022   0.022  0.0059 0.940538   
## df1$StirRate:df1$Temperature  1 10.128  10.128  2.7389 0.132317   
## Residuals                     9 33.281   3.698                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model1)
##                              Df Sum Sq Mean Sq F value  Pr(>F)   
## df1$Ammonium                  1  44.39   44.39  12.004 0.00711 **
## df1$StirRate                  1  70.69   70.69  19.115 0.00179 **
## df1$Temperature               1   0.33    0.33   0.089 0.77268   
## df1$Ammonium:df1$StirRate     1  28.12   28.12   7.603 0.02221 * 
## df1$Ammonium:df1$Temperature  1   0.02    0.02   0.006 0.94054   
## df1$StirRate:df1$Temperature  1  10.13   10.13   2.739 0.13232   
## Residuals                     9  33.28    3.70                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

COMMENT:

Based on the statistics, we discovered that, as the interaction between between Ammonium and Tempearture has the least significance, we will remove it from the next model.

model2<-aov(df1$Density~df1$Ammonium+df1$StirRate+df1$Temperature+df1$Ammonium*df1$StirRate+df1$StirRate*df1$Temperature)
GAD::gad(model2)
## $anova
## Analysis of Variance Table
## 
## Response: df1$Density
##                              Df Sum Sq Mean Sq F value    Pr(>F)    
## df1$Ammonium                  1 44.389  44.389 13.3287 0.0044560 ** 
## df1$StirRate                  1 70.686  70.686 21.2250 0.0009696 ***
## df1$Temperature               1  0.328   0.328  0.0984 0.7601850    
## df1$Ammonium:df1$StirRate     1 28.117  28.117  8.4426 0.0156821 *  
## df1$StirRate:df1$Temperature  1 10.128  10.128  3.0412 0.1117751    
## Residuals                    10 33.303   3.330                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model2)
##                              Df Sum Sq Mean Sq F value  Pr(>F)    
## df1$Ammonium                  1  44.39   44.39  13.329 0.00446 ** 
## df1$StirRate                  1  70.69   70.69  21.225 0.00097 ***
## df1$Temperature               1   0.33    0.33   0.098 0.76019    
## df1$Ammonium:df1$StirRate     1  28.12   28.12   8.443 0.01568 *  
## df1$StirRate:df1$Temperature  1  10.13   10.13   3.041 0.11178    
## Residuals                    10  33.30    3.33                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

COMMENT:

Based on the statistics, we discovered that, as the interaction between between Stirrate and Tempearture has the least significance, we will remove it from the next model.

model3<-aov(df1$Density~df1$Ammonium+df1$StirRate+df1$Temperature+df1$Ammonium*df1$StirRate)
GAD::gad(model3)
## $anova
## Analysis of Variance Table
## 
## Response: df1$Density
##                           Df Sum Sq Mean Sq F value   Pr(>F)   
## df1$Ammonium               1 44.389  44.389 11.2425 0.006443 **
## df1$StirRate               1 70.686  70.686 17.9028 0.001410 **
## df1$Temperature            1  0.328   0.328  0.0830 0.778613   
## df1$Ammonium:df1$StirRate  1 28.117  28.117  7.1211 0.021851 * 
## Residuals                 11 43.431   3.948                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(model3)
##                           Df Sum Sq Mean Sq F value  Pr(>F)   
## df1$Ammonium               1  44.39   44.39  11.242 0.00644 **
## df1$StirRate               1  70.69   70.69  17.903 0.00141 **
## df1$Temperature            1   0.33    0.33   0.083 0.77861   
## df1$Ammonium:df1$StirRate  1  28.12   28.12   7.121 0.02185 * 
## Residuals                 11  43.43    3.95                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

COMMENT:

Based on the statistics, we discovered that, as the interaction between between Stirrate and Ammonium has the P(value) of 0.021, which is less than the alpha (0.05), hence we reject the Null hypothesis, and make the claim that there is significant interaction between Stirrate and Ammonium.

interaction.plot(df1$StirRate,df1$Ammonium,df1$Density,col=c("BLUE","RED"))

COMMENT:

Based on the statistics, since the lines are not level, there is an interaction between Stirrate and Ammonium.

Question 2:

Position=c(1,2)
Temperature=c(800,825,850)
df<-expand.grid(Position,Temperature)
df1<-rbind(df,df,df)
colnames(df1)<-c("Position","Temperature")
response<-c(570,528,1063,988,565,526,565,547,1080,1026,510,538,583,521,1043,1004,590,532)
df2<-data.frame(df1,response)
df2
##    Position Temperature response
## 1         1         800      570
## 2         2         800      528
## 3         1         825     1063
## 4         2         825      988
## 5         1         850      565
## 6         2         850      526
## 7         1         800      565
## 8         2         800      547
## 9         1         825     1080
## 10        2         825     1026
## 11        1         850      510
## 12        2         850      538
## 13        1         800      583
## 14        2         800      521
## 15        1         825     1043
## 16        2         825     1004
## 17        1         850      590
## 18        2         850      532

(a).

df2$Position<-as.fixed(Position)
df2$Temperature<-as.fixed(Temperature)
model4<-aov(response~Position+Temperature+Position*Temperature, data=df2)
GAD::gad(model4)
## $anova
## Analysis of Variance Table
## 
## Response: response
##                      Df Sum Sq Mean Sq F value    Pr(>F)    
## Position              1   7160    7160  15.998  0.001762 ** 
## Temperature           2 249510  124755 278.748 8.753e-11 ***
## Position:Temperature  2 696650  348325 778.283 2.005e-13 ***
## Residuals            12   5371     448                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

COMMENT:

After running the analysis, the P-value is 2.005e^-13.

(b).

df2$Position<-as.random(Position)
df2$Temperature<-as.random(Temperature)
model5<-aov(response~Position+Temperature+Position*Temperature, data=df2)
GAD::gad(model5)
## $anova
## Analysis of Variance Table
## 
## Response: response
##                      Df Sum Sq Mean Sq  F value    Pr(>F)    
## Position              1   7160    7160   0.0206    0.8991    
## Temperature           2 249510  124755   0.3582    0.7363    
## Position:Temperature  2 696650  348325 778.2834 2.005e-13 ***
## Residuals            12   5371     448                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

COMMENT:

After running the analysis, the P-value is 2.005e^-13.

(c).

df2$Position<-as.fixed(Position)
df2$Temperature<-as.random(Temperature)
model6<-aov(response~Position+Temperature+Position*Temperature, data=df2)
GAD::gad(model6)
## $anova
## Analysis of Variance Table
## 
## Response: response
##                      Df Sum Sq Mean Sq  F value    Pr(>F)    
## Position              1   7160    7160   0.0206    0.8991    
## Temperature           2 249510  124755 278.7476 8.753e-11 ***
## Position:Temperature  2 696650  348325 778.2834 2.005e-13 ***
## Residuals            12   5371     448                       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

COMMENT:

After running the analysis, the P-value is 2.005e^-13.

(d).

COMMENT: The p-value for Temperature is the same for parts a and c, as in a, Temperature is fixed and in c, Temperature is random. However, in part B, the p-value increases where temperature is random. The same phenomenon occurs for position, which has similar values in part B and C, where position is random for part B and fixed for c, while it is smaller in part a.

df<-read.csv("https://raw.githubusercontent.com/tmatis12/datafiles/main/PowderProduction.csv",header=TRUE)
df1<-data.frame(df)
df1
df1$Ammonium<-as.fixed(df1$Ammonium)
df1$StirRate<-as.fixed(df1$StirRate)
df1$Temperature<-as.fixed(df1$Temperature)
model<-aov(df1$Density~df1$Ammonium+df1$StirRate+df1$Temperature+df1$Ammonium*df1$StirRate+df1$Ammonium*df1$Temperature+df1$StirRate*df1$Temperature+df1$Ammonium*df1$StirRate*df1$Temperature)
library(GAD)
GAD::gad(model)
summary(model)
interaction.plot(df1$StirRate,df1$Ammonium,df1$Density,col=c("BLUE","RED"))
model1<-aov(df1$Density~df1$Ammonium+df1$StirRate+df1$Temperature+df1$Ammonium*df1$StirRate+df1$Ammonium*df1$Temperature+df1$StirRate*df1$Temperature)
GAD::gad(model1)
summary(model1)
model2<-aov(df1$Density~df1$Ammonium+df1$StirRate+df1$Temperature+df1$Ammonium*df1$StirRate+df1$StirRate*df1$Temperature)
GAD::gad(model2)
summary(model2)
model3<-aov(df1$Density~df1$Ammonium+df1$StirRate+df1$Temperature+df1$Ammonium*df1$StirRate)
GAD::gad(model3)
summary(model3)
interaction.plot(df1$StirRate,df1$Ammonium,df1$Density,col=c("BLUE","RED"))
Position=c(1,2)
Temperature=c(800,825,850)
df<-expand.grid(Position,Temperature)
df1<-rbind(df,df,df)
colnames(df1)<-c("Position","Temperature")
response<-c(570,528,1063,988,565,526,565,547,1080,1026,510,538,583,521,1043,1004,590,532)
df2<-data.frame(df1,response)
df2
df2$Position<-as.fixed(Position)
df2$Temperature<-as.fixed(Temperature)
model4<-aov(response~Position+Temperature+Position*Temperature, data=df2)
GAD::gad(model4)
df2$Position<-as.random(Position)
df2$Temperature<-as.random(Temperature)
model5<-aov(response~Position+Temperature+Position*Temperature, data=df2)
GAD::gad(model5)
df2$Position<-as.fixed(Position)
df2$Temperature<-as.random(Temperature)
model6<-aov(response~Position+Temperature+Position*Temperature, data=df2)
GAD::gad(model6)