### One Way MANOVA

library(readr)
## Warning: package 'readr' was built under R version 4.3.3
library(openxlsx)
## Warning: package 'openxlsx' was built under R version 4.3.3
data1 <- read.xlsx("C:/Users/ADVAN/Downloads/tugas prak one way.xlsx")
head(data1)
##   Panjang Lebar Tinggi     JK Jenis.Kelamin
## 1      98    81     38 Betina             0
## 2     103    84     38 Betina             0
## 3     103    86     42 Betina             0
## 4     105    86     42 Betina             0
## 5     109    88     44 Betina             0
## 6     123    92     50 Betina             0
## Uji Normalitas 
library(MVN)
## Warning: package 'MVN' was built under R version 4.3.3
data1_fix <- data1[1:3]
head(data1_fix)
##   Panjang Lebar Tinggi
## 1      98    81     38
## 2     103    84     38
## 3     103    86     42
## 4     105    86     42
## 5     109    88     44
## 6     123    92     50
test = mvn(data1_fix, mvnTest = "mardia", univariateTest = "SW", multivariatePlot = "qq")

test
## $multivariateNormality
##              Test          Statistic            p value Result
## 1 Mardia Skewness   20.1644378890549 0.0277351889469023     NO
## 2 Mardia Kurtosis -0.185309113808547   0.85298659004483    YES
## 3             MVN               <NA>               <NA>     NO
## 
## $univariateNormality
##           Test  Variable Statistic   p value Normality
## 1 Shapiro-Wilk  Panjang     0.9622    0.1244    YES   
## 2 Shapiro-Wilk   Lebar      0.9496    0.0386    NO    
## 3 Shapiro-Wilk  Tinggi      0.9186    0.0027    NO    
## 
## $Descriptives
##          n     Mean   Std.Dev Median Min Max   25th  75th      Skew   Kurtosis
## Panjang 48 124.7083 20.494896  122.0  93 177 106.75 136.5 0.4631205 -0.6205144
## Lebar   48  95.4375 12.675838   93.0  74 132  86.00 102.0 0.7898060  0.1619307
## Tinggi  48  46.3750  8.365647   44.5  35  67  40.00  51.0 0.7491616 -0.4786118
# Penanganan Normalitas : potong data (khusus untuk pembelajaran)
data1_new = data1[1:40,]
data1_fix1 = data1_new[1:3]
library(MVN)
head(data1_new)
##   Panjang Lebar Tinggi     JK Jenis.Kelamin
## 1      98    81     38 Betina             0
## 2     103    84     38 Betina             0
## 3     103    86     42 Betina             0
## 4     105    86     42 Betina             0
## 5     109    88     44 Betina             0
## 6     123    92     50 Betina             0
test = mvn(data1_fix1, mvnTest = "mardia", univariateTest = "SW", multivariatePlot = "qq")

test
## $multivariateNormality
##              Test          Statistic           p value Result
## 1 Mardia Skewness   15.2096294813749 0.124604001114039    YES
## 2 Mardia Kurtosis -0.444213783366251 0.656888027929549    YES
## 3             MVN               <NA>              <NA>    YES
## 
## $univariateNormality
##           Test  Variable Statistic   p value Normality
## 1 Shapiro-Wilk  Panjang     0.9382    0.0300    NO    
## 2 Shapiro-Wilk   Lebar      0.9396    0.0335    NO    
## 3 Shapiro-Wilk  Tinggi      0.9100    0.0038    NO    
## 
## $Descriptives
##          n    Mean   Std.Dev Median Min Max   25th   75th      Skew   Kurtosis
## Panjang 40 124.475 22.372130  118.0  93 177 104.75 138.75 0.4552497 -0.9720242
## Lebar   40  95.475 13.761685   91.5  74 132  84.75 102.75 0.7242198 -0.2866578
## Tinggi  40  46.800  9.072924   43.5  35  67  39.00  51.50 0.5797759 -0.9421718
## Uji Homogenitas Multivariate 
library(biotools)
## Warning: package 'biotools' was built under R version 4.3.3
## Loading required package: MASS
## ---
## biotools version 4.2
grup <- data1_new$Jenis.Kelamin
head(grup)
## [1] 0 0 0 0 0 0
boxM(data = data1_fix1, grouping = grup)
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  data1_fix1
## Chi-Sq (approx.) = 26.742, df = 6, p-value = 0.0001618
## One Way MANOVA
owm = manova(cbind(data1_new$Panjang, data1_new$Lebar, data1_new$Tinggi)~data1_new$Jenis.Kelamin)
summary(owm)
##                         Df  Pillai approx F num Df den Df   Pr(>F)    
## data1_new$Jenis.Kelamin  1 0.58176   16.692      3     36 5.82e-07 ***
## Residuals               38                                            
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Uji Lanjut (Post Hoc Test)
summary.aov(owm)
##  Response 1 :
##                         Df  Sum Sq Mean Sq F value    Pr(>F)    
## data1_new$Jenis.Kelamin  1  8027.3  8027.3  26.542 8.254e-06 ***
## Residuals               38 11492.7   302.4                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response 2 :
##                         Df Sum Sq Mean Sq F value    Pr(>F)    
## data1_new$Jenis.Kelamin  1 3031.7 3031.70  26.458 8.467e-06 ***
## Residuals               38 4354.3  114.59                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response 3 :
##                         Df Sum Sq Mean Sq F value   Pr(>F)    
## data1_new$Jenis.Kelamin  1 1648.5  1648.5  40.107 1.99e-07 ***
## Residuals               38 1561.9    41.1                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
### TWO WAY MANOVA
library(openxlsx)
data2 <- read.xlsx("C:/Users/ADVAN/Downloads/Guilhot_Symbiosis_2019_MANOVA_dataset.xlsx")
head(data2)
##   Environment1 Bacterial_isolate_inoculated1 Environment
## 1   artificial                           Dm1           0
## 2   artificial                           Dm1           0
## 3   artificial                           Dm1           0
## 4   artificial                           Dm1           0
## 5   artificial                           Dm1           0
## 6   artificial                           Dm1           0
##   Bacterial_isolate_inoculated
## 1                            0
## 2                            0
## 3                            0
## 4                            0
## 5                            0
## 6                            0
##   Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment)
## 1                                                                            0.28230335
## 2                                                                            0.00721307
## 3                                                                           -0.01617238
## 4                                                                           -0.08373828
## 5                                                                            0.25919509
## 6                                                                            0.09552793
##   Mean(Age.per.individual.relative.to.controls.of.the.same.environment)
## 1                                                            -0.3934855
## 2                                                            -0.5601522
## 3                                                            -0.0434855
## 4                                                            -0.1990411
## 5                                                             0.2398478
## 6                                                            -0.6101522
## Uji Normalitas Multivariate 
x1 <- data2[,5]
x2 <- data2[,6]
data2_fix <- data.frame(x1=x1, x2=x2)
library(MVN)
test = mvn(data2_fix, mvnTest = "mardia", univariateTest = "SW", multivariatePlot = "qq")

test
## $multivariateNormality
##              Test        Statistic              p value Result
## 1 Mardia Skewness 19.3948947968481 0.000657252529131105     NO
## 2 Mardia Kurtosis 4.05703699451687 4.96992121823414e-05     NO
## 3             MVN             <NA>                 <NA>     NO
## 
## $univariateNormality
##           Test  Variable Statistic   p value Normality
## 1 Shapiro-Wilk    x1        0.9906    0.7442    YES   
## 2 Shapiro-Wilk    x2        0.9565    0.0031    NO    
## 
## $Descriptives
##     n        Mean   Std.Dev       Median       Min       Max       25th
## x1 95 -0.01507748 0.1724739 -0.002187557 -0.439811 0.5339313 -0.1213662
## x2 95 -0.25901832 1.2776969 -0.262034333 -2.928701 4.3212990 -1.2513710
##          75th      Skew  Kurtosis
## x1 0.09930286 0.1698695 0.4054636
## x2 0.45254311 0.7107731 1.3369359
# Penanganan Normalitas : Pemotongan data (khusus untuk pembelajaran)
data2_new <- data2[1:50,]
data2_fix1 <- data2_new[5:6]
library(MVN)
test = mvn(data2_fix1,mvnTest = "mardia", univariateTest = "SW", multivariatePlot = "qq")

test
## $multivariateNormality
##              Test         Statistic           p value Result
## 1 Mardia Skewness  1.26321287482413 0.867585369377264    YES
## 2 Mardia Kurtosis -1.60367906494181 0.108784812810945    YES
## 3             MVN              <NA>              <NA>    YES
## 
## $univariateNormality
##           Test
## 1 Shapiro-Wilk
## 2 Shapiro-Wilk
##                                                                                Variable
## 1 Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment)
## 2         Mean(Age.per.individual.relative.to.controls.of.the.same.environment)        
##   Statistic   p value Normality
## 1    0.9806    0.5757    YES   
## 2    0.9404    0.0140    NO    
## 
## $Descriptives
##                                                                                        n
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment) 50
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 50
##                                                                                              Mean
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment) -0.05885554
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 -0.68031198
##                                                                                         Std.Dev
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment) 0.1546923
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 0.9192458
##                                                                                            Median
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment) -0.07700081
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 -0.41134264
##                                                                                              Min
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment) -0.3427157
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 -2.3220569
##                                                                                             Max
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment) 0.2823033
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 1.0065145
##                                                                                             25th
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment) -0.1457087
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 -1.5851522
##                                                                                              75th
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment)  0.04107312
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 -0.04661050
##                                                                                             Skew
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment)  0.1346990
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 -0.2290919
##                                                                                         Kurtosis
## Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment) -0.6722874
## Mean(Age.per.individual.relative.to.controls.of.the.same.environment)                 -1.1116783
## Uji Homogenitas 
# Environment
grup1<- data2_new$Environment
library(biotools)
boxM(data = data2_fix1, grouping=grup1)
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  data2_fix1
## Chi-Sq (approx.) = NaN, df = 0, p-value = NA
# bacterical
grup2<- data2_new$Bacterial_isolate_inoculated
boxM(data = data2_fix1, grouping = grup2)
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  data2_fix1
## Chi-Sq (approx.) = 8.8547, df = 12, p-value = 0.7153
## Two Way MANOVA   bacterical
environment <- as.factor(data2_new$Environment)
bacterical <- as.factor(data2_new$Bacterial_isolate_inoculated)
x1 <- data2_new$`Mean(Log.Optical.density.per.individual.relative.to.controls.of.the.same.environment)`
x2 <- data2_new$`Mean(Age.per.individual.relative.to.controls.of.the.same.environment)`
manova <- manova(cbind(environment, bacterical) ~ x1*x2, data=data2_new)
# Menampilkan hasil
summary(manova)
##           Df  Pillai approx F num Df den Df    Pr(>F)    
## x1         1 0.12087   3.0934      2     45 0.0551100 .  
## x2         1 0.29640   9.4785      2     45 0.0003671 ***
## x1:x2      1 0.00756   0.1714      2     45 0.8430321    
## Residuals 46                                             
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Uji Lanjut 
summary.aov(manova)
##  Response environment :
##             Df     Sum Sq    Mean Sq F value  Pr(>F)  
## x1           1 1.5294e-30 1.5294e-30  5.2458 0.02663 *
## x2           1 6.2700e-32 6.2720e-32  0.2151 0.64496  
## x1:x2        1 9.6300e-32 9.6270e-32  0.3302 0.56834  
## Residuals   46 1.3411e-29 2.9154e-31                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response bacterical :
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## x1           1  4.002  4.0025  2.2600 0.13959    
## x2           1 30.910 30.9105 17.4537 0.00013 ***
## x1:x2        1  0.121  0.1211  0.0684 0.79485    
## Residuals   46 81.466  1.7710                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1