MANOVA adalah teknik analisis statistik yang digunakan untuk menguji perbedaan simultan antara dua atau lebih variabel dependen yang terkait dengan satu atau lebih variabel independen. Tujuannya adalah untuk menentukan apakah terdapat perbedaan signifikan antara kelompok dalam beberapa variabel dependen. Sebelum melakukan Uji MANOVA, terdapat dua asumsi yang harus dipenuhi, yaitu normalitas dan homoskedastisitas.

One Way MANOVA

One Way MANOVA digunakan untuk menentukan apakah ada perbedaan antara satu kelompok independen pada lebih dari dua variabel dependen kontinu.

Input Data:

data1 <- read.csv("C:/Users/GINA/Downloads/leaftemp.csv")
data1
##    rownames CO2level vapPress tempDiff BtempDiff
## 1         1     high     2.56     1.50      1.84
## 2         2      low     1.88     1.36      1.54
## 3         3   medium     2.38     1.94      1.96
## 4         4     high     2.55     0.85      0.93
## 5         5      low     2.20     0.60      0.68
## 6         6   medium     2.72     0.83      0.89
## 7         7     high     2.17    -0.04      0.02
## 8         8   medium     2.21    -0.11     -0.06
## 9         9     high     1.64     1.25      1.10
## 10       10      low     1.75     0.23      0.50
## 11       11   medium     1.67     0.85      0.65
## 12       12     high     1.67     1.64      1.27
## 13       13      low     1.85     0.48      0.65
## 14       14   medium     1.67     1.32      1.05
## 15       15     high     1.81     1.99      1.72
## 16       16      low     1.69     0.98      0.90
## 17       17   medium     1.71     1.76      1.08
## 18       18     high     1.86     1.90      1.60
## 19       19      low     1.33     0.98      0.75
## 20       20   medium     1.80     1.49      0.99
## 21       21     high     1.58     2.42      1.89
## 22       22      low     2.07     1.48      1.15
## 23       23   medium     1.88     1.64      1.62
## 24       24     high     1.95     3.20      2.31
## 25       25      low     2.10     2.16      1.50
## 26       26   medium     1.75     2.11      2.18
## 27       27     high     1.38     2.74      2.01
## 28       28      low     2.17     1.34      0.82
## 29       29   medium     1.90     1.94      1.90
## 30       30     high     1.66     3.22      2.34
## 31       31      low     2.13     1.61      0.99
## 32       32   medium     1.81     2.19      2.05
## 33       33     high     2.16     2.24      1.71
## 34       34      low     2.26     0.75      0.60
## 35       35   medium     1.93     1.61      1.42
## 36       36     high     2.19     1.62      1.26
## 37       37      low     2.38     0.75      0.48
## 38       38   medium     2.45     1.11      1.03
## 39       39     high     2.29     2.47      1.97
## 40       40      low     1.93     1.92      1.89
## 41       41   medium     1.72     2.34      2.10
## 42       42     high     2.32     1.59      1.73
## 43       43      low     2.60     1.51      1.72
## 44       44   medium     2.49     1.29      1.02
## 45       45     high     2.70     0.00      0.13
## 46       46      low     2.48     0.00      0.01
## 47       47   medium     2.45     0.11      0.06
## 48       48     high     2.05     2.85      1.72
## 49       49      low     2.17     1.26      1.29
## 50       50   medium     1.86     1.87      1.18
## 51       51     high     2.56     0.49      0.44
## 52       52      low     2.38     0.10      0.19
## 53       53   medium     2.39     0.44      0.35
## 54       54     high     1.80     2.09      1.47
## 55       55      low     1.94     0.72      0.67
## 56       56   medium     1.43     1.31      0.91
## 57       57     high     1.82     1.20      1.00
## 58       58      low     1.78     0.23      0.12
## 59       59   medium     1.46     0.89      0.86
## 60       60     high     2.03     1.94      1.58
## 61       61      low     2.10     0.67      0.26
## 62       62   medium     2.11     1.10      1.00

Deskripsi Data:

Data tersebut merupakan data suhu daun dan udara yang dibagi ke dalam tiga kelompok berdasarkan tingkat CO2 (high, low, dan medium).

Uji Asumsi

1. Uji Normalitas

  • Hipotesis

    H0: Data berdistribusi normal

    H1: Data tidak berdistribusi normal

  • Taraf Signifikansi

    ⍺ = 5% = 0.05

  • Statistik Uji

library(MVN)
## Warning: package 'MVN' was built under R version 4.3.3
data1_fix <- data1[3:5]
head(data1_fix)
##   vapPress tempDiff BtempDiff
## 1     2.56     1.50      1.84
## 2     1.88     1.36      1.54
## 3     2.38     1.94      1.96
## 4     2.55     0.85      0.93
## 5     2.20     0.60      0.68
## 6     2.72     0.83      0.89
test1 = mvn(data1_fix, mvnTest = "mardia", univariateTest = "SW",
           multivariatePlot = "qq")

test1
## $multivariateNormality
##              Test         Statistic            p value Result
## 1 Mardia Skewness  16.6046118047381 0.0835836976912085    YES
## 2 Mardia Kurtosis -1.47491500285045  0.140235396288839    YES
## 3             MVN              <NA>               <NA>    YES
## 
## $univariateNormality
##           Test  Variable Statistic   p value Normality
## 1 Shapiro-Wilk vapPress     0.9773    0.3034    YES   
## 2 Shapiro-Wilk tempDiff     0.9823    0.5083    YES   
## 3 Shapiro-Wilk BtempDiff    0.9700    0.1322    YES   
## 
## $Descriptives
##            n     Mean   Std.Dev Median   Min  Max   25th   75th        Skew
## vapPress  62 2.027903 0.3432159  1.990  1.33 2.72 1.7850 2.2825  0.11473692
## tempDiff  62 1.360000 0.8097642  1.350 -0.11 3.22 0.7700 1.9350  0.12440634
## BtempDiff 62 1.145000 0.6467111  1.065 -0.06 2.34 0.6725 1.7175 -0.06346664
##             Kurtosis
## vapPress  -0.8517319
## tempDiff  -0.5481776
## BtempDiff -1.0037687
  • Kriteria Uji

    Tolak H0 jika p-value < ⍺

  • Keputusan

    Karena p-value > ⍺, maka H0 diterima.

  • Kesimpulan

    Dengan taraf signifikansi sebesar 5%, dapat disimpulkan bahwa data sudah berdistribusi normal secara univariat maupun multivariat. Dari hasil Q-Q Plot juga menunjukkan bahwa data cenderung mengikuti garis lurus. Artinya, asumsi kenormalan terpenuhi.

2. Uji Homogenitas Multivariat

  • Hipotesis

    H0: Matriks kovarians grup sama

    H1: Paling sedikit ada satu matriks kovarians grup yang berbeda

  • Taraf Signifikansi

    ⍺ = 5% = 0.05

  • Statistik Uji

library(biotools)
## Warning: package 'biotools' was built under R version 4.3.3
## Loading required package: MASS
## ---
## biotools version 4.2
grup1 <- data1$CO2level
head(grup1)
## [1] "high"   "low"    "medium" "high"   "low"    "medium"
boxM(data = data1_fix, grouping = grup1)
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  data1_fix
## Chi-Sq (approx.) = 14.956, df = 12, p-value = 0.2438
  • Kriteria Uji

    Tolak H0 jika p-value < ⍺

  • Keputusan

    Karena p-value > ⍺, maka H0 diterima.

  • Kesimpulan

    Dengan taraf signifikansi sebesar 5%, dapat disimpulkan bahwa matriks kovarians grup sama sehingga asumsi homoskedastisitas terpenuhi.

Uji MANOVA

  • Hipotesis

    H0: Tingkat CO2 tidak berpengaruh terhadap suhu daun dan udara

    H1: Tingkat CO2 berpengaruh terhadap suhu daun dan udara

  • Taraf Signifikansi

    ⍺ = 5% = 0.05

  • Statistik Uji

owm = manova(cbind(data1$vapPress, data1$tempDiff,
                   data1$BtempDiff)~data1$CO2level)
summary(owm)
##                Df  Pillai approx F num Df den Df  Pr(>F)  
## data1$CO2level  2 0.20833    2.248      6    116 0.04341 *
## Residuals      59                                         
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • Kriteria Uji

    Tolak H0 jika p-value < ⍺

  • Keputusan

    Karena p-value < ⍺, maka H0 ditolak.

  • Kesimpulan

    Dengan taraf signifikansi sebesar 5%, dapat disimpulkan bahwa terdapat perbedaan signifikan suhu daun dan udara berdasarkan tingkat CO2. Selanjutnya, akan dilakukan uji lanjut untuk mengetahui variabel mana yang menunjukkan perbedaan signifikan.

Uji Lanjut (Post Hoc Test)

summary.aov(owm)
##  Response 1 :
##                Df Sum Sq  Mean Sq F value Pr(>F)
## data1$CO2level  2 0.0514 0.025709  0.2126 0.8091
## Residuals      59 7.1342 0.120919               
## 
##  Response 2 :
##                Df Sum Sq Mean Sq F value  Pr(>F)   
## data1$CO2level  2  6.792  3.3958  6.0333 0.00413 **
## Residuals      59 33.207  0.5628                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response 3 :
##                Df Sum Sq Mean Sq F value  Pr(>F)  
## data1$CO2level  2  3.629  1.8145  4.8922 0.01082 *
## Residuals      59 21.883  0.3709                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Dari hasil di atas, dapat disimpulkan bahwa response 2 (tempDiff) dan 3 (BtempDiff) menunjukkan perbedaan yang signifikan berdasarkan tingkat CO2 yang diuji, sedangkan response 1 (vapPress) tidak menunjukkan perbedaan yang signifikan.

Two Way MANOVA

Two Way MANOVA digunakan untuk menentukan apakah ada perbedaan antara dua kelompok independen pada lebih dari dua variabel dependen kontinu.

Input Data:

data2 <- read.csv("C:/Users/GINA/Downloads/Data Two Way for R.csv")
data2
##    gender persiapan math_score reading_score writing_score
## 1  female      none         40            59            55
## 2  female      none         63            77            76
## 3  female      none         62            59            63
## 4  female completed         80            87            90
## 5  female completed         54            62            65
## 6  female      none         23            44            44
## 7  female      none         83            76            88
## 8  female      none         44            55            54
## 9  female      none         53            60            56
## 10 female completed         74            89            89
## 11 female      none         33            54            51
## 12 female completed         65            65            71
## 13 female completed         79            88            89
## 14 female      none         68            74            74
## 15 female completed         57            77            75
## 16   male completed         67            67            63
## 17   male      none         59            60            50
## 18   male      none         77            78            68
## 19   male completed         78            73            68
## 20   male completed         93            88            84
## 21   male      none         63            56            65
## 22   male      none         47            42            45
## 23   male completed         99            83            85
## 24   male completed         77            87            85
## 25   male completed         74            74            73
## 26   male completed         81            87            85
## 27   male      noen         69            61            57
## 28   male      noen         58            47            42
## 29   male      noen         39            32            31
## 30   male      noen         58            52            55

Deskripsi Data: Data tersebut merupakan data nilai yang diperoleh siswa berdasarkan gender dan persiapan testnya.

Uji Asumsi

1. Uji Normalitas

  • Hipotesis

    H0: Data berdistribusi normal

    H1: Data tidak berdistribusi normal

  • Taraf Signifikansi

    ⍺ = 5% = 0.05

  • Statistik Uji

x1 <- data2[,3]
x2 <- data2[,4]
x3 <- data2[,5]
data2_fix <- data.frame(x1=x1, x2=x2, x3=x3)
library(MVN)
test2 = mvn(data2_fix, mvnTest = "mardia", univariateTest = "SW",
           multivariatePlot = "qq")

test2
## $multivariateNormality
##              Test         Statistic           p value Result
## 1 Mardia Skewness  6.54662465853713 0.767440308432322    YES
## 2 Mardia Kurtosis -1.19950418207651 0.230331959585361    YES
## 3             MVN              <NA>              <NA>    YES
## 
## $univariateNormality
##           Test  Variable Statistic   p value Normality
## 1 Shapiro-Wilk    x1        0.9842    0.9231    YES   
## 2 Shapiro-Wilk    x2        0.9506    0.1756    YES   
## 3 Shapiro-Wilk    x3        0.9561    0.2449    YES   
## 
## $Descriptives
##     n     Mean  Std.Dev Median Min Max  25th  75th       Skew   Kurtosis
## x1 30 63.90000 17.50537   64.0  23  99 54.75 77.00 -0.2845161 -0.3799388
## x2 30 67.10000 15.63231   66.0  32  89 56.75 77.75 -0.2552762 -0.9414205
## x3 30 66.53333 16.22840   66.5  31  90 55.00 82.00 -0.1913814 -1.0157714
  • Keputusan

    Karena p-value > ⍺, maka H0 diterima.

  • Kesimpulan

    Dengan taraf signifikansi sebesar 5%, dapat disimpulkan bahwa data sudah berdistribusi normal secara univariat maupun multivariat. Dari hasil Q-Q Plot juga menunjukkan bahwa data cenderung mengikuti garis lurus. Artinya, asumsi kenormalan terpenuhi.

2. Uji Homogenitas Multivariat

  • Hipotesis

    H0: Matriks kovarians grup sama

    H1: Paling sedikit ada satu matriks kovarians grup yang berbeda

  • Taraf Signifikansi

    ⍺ = 5% = 0.05

  • Statistik Uji

    1. Gender
head(data2[,1])
## [1] "female" "female" "female" "female" "female" "female"
boxM(data = data2_fix, grouping = data2[,1])
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  data2_fix
## Chi-Sq (approx.) = 9.7458, df = 6, p-value = 0.1358
  1. Persiapan
head(data2[,2])
## [1] "none"      "none"      "none"      "completed" "completed" "none"
boxM(data = data2_fix, grouping = data2[,2])
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  data2_fix
## Chi-Sq (approx.) = 13.786, df = 12, p-value = 0.3146
  • Kriteria Uji

    Tolak H0 jika p-value < ⍺

  • Keputusan

    Karena p-value > ⍺, maka H0 diterima.

  • Kesimpulan

    Dengan taraf signifikansi sebesar 5%, dapat disimpulkan bahwa matriks kovarians grup sama sehingga asumsi homoskedastisitas terpenuhi.

Uji MANOVA

  • Hipotesis

    H0: Gender dan persiapan tidak berpengaruh terhadap nilai yang diperoleh siswa

    H1: Gender dan persiapan berpengaruh terhadap nilai yang diperoleh siswa

  • Taraf Signifikansi

    ⍺ = 5% = 0.05

  • Statistik Uji

gender <- as.factor(data2$gender)
persiapan <- as.factor(data2$persiapan)
twm <- manova(cbind(x1, x2, x3) ~ gender * persiapan, data =
              data2_fix)
# Menampilkan hasil
summary(twm)
##                  Df  Pillai approx F num Df den Df    Pr(>F)    
## gender            1 0.68334  16.5446      3     23 6.005e-06 ***
## persiapan         2 0.60747   3.4899      6     48   0.00606 ** 
## gender:persiapan  1 0.01670   0.1302      3     23   0.94114    
## Residuals        25                                             
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • Kriteria Uji

    Tolak H0 jika p-value < ⍺

  • Kesimpulan

    Dengan taraf signifikansi sebesar 5%, dapat disimpulkan bahwa terdapat perbedaan signifikan nilai yang diperoleh siswa berdasarkan gender dan persiapan testnya. Selanjutnya, akan dilakukan uji lanjut untuk mengetahui variabel mana yang menunjukkan perbedaan signifikan.

Uji Lanjut (Post Hoc Test)

summary.aov(twm)
##  Response x1 :
##                  Df Sum Sq Mean Sq F value   Pr(>F)   
## gender            1  864.0  864.03  4.2040 0.050952 . 
## persiapan         2 2863.8 1431.88  6.9669 0.003937 **
## gender:persiapan  1   20.7   20.75  0.1009 0.753333   
## Residuals        25 5138.2  205.53                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response x2 :
##                  Df Sum Sq Mean Sq F value    Pr(>F)    
## gender            1   50.7   50.70  0.3866    0.5397    
## persiapan         2 3722.0 1860.98 14.1893 7.624e-05 ***
## gender:persiapan  1   35.2   35.18  0.2682    0.6091    
## Residuals        25 3278.9  131.15                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response x3 :
##                  Df Sum Sq Mean Sq F value   Pr(>F)    
## gender            1  235.2  235.20  1.6539 0.210217    
## persiapan         2 3832.9 1916.45 13.4760 0.000107 ***
## gender:persiapan  1   14.1   14.07  0.0989 0.755746    
## Residuals        25 3555.3  142.21                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Dari hasil di atas, dapat disimpulkan bahwa response x1 (math score) menunjukkan perbedaan yang signifikan berdasarkan gender dan persiapan, sedangkan response x2 (reading score) dan x3 (writing score) hanya menunjukkan perbedaan yang signifikan berdasarkan persiapan saja.