One way Manova
#Memanggil data
library(readxl)
data = read_excel("C:/Users/aidan/Downloads/smoking.xlsx", sheet = "Sheet2")
head(data)
## # A tibble: 6 × 20
## ID gender age height weight waist `eyesight(left)` `eyesight(right)`
## <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 0 F 40 155 60 81.3 1.2 1
## 2 1 F 40 160 60 81 0.8 0.6
## 3 2 M 55 170 60 80 0.8 0.8
## 4 3 M 40 165 70 88 1.5 1.5
## 5 4 F 40 155 60 86 1 1
## 6 5 M 30 180 75 85 1.2 1.2
## # ℹ 12 more variables: `hearing(left)` <dbl>, `hearing(right)` <dbl>,
## # systolic <dbl>, relaxation <dbl>, `fasting blood sugar` <dbl>,
## # Cholesterol <dbl>, triglyceride <dbl>, HDL <dbl>, LDL <dbl>,
## # hemoglobin <dbl>, `Urine protein` <dbl>, `serum creatinine` <dbl>
Source data : https://www.kaggle.com/datasets/kukuroo3/body-signal-of-smoking
A. Uji Normalitas Multivariat
Hipotesis
H0 : Data berdistribusi normal multivariat
H1 : Data tidak berdistribusi normal multivariat
Taraf Signifikansi
alpha : 5%
Statistik Uji
grup <- data[2]
x1 <- data[,3]
x2 <- data[,4]
x3 <- data[,5]
data_fix <- data.frame(x1,x2,x3);data_fix
## age height weight
## 1 40 155 60
## 2 40 160 60
## 3 55 170 60
## 4 40 165 70
## 5 40 155 60
## 6 30 180 75
## 7 40 160 60
## 8 45 165 90
## 9 50 150 60
## 10 45 175 75
## 11 30 175 65
## 12 30 170 75
## 13 35 170 70
## 14 40 155 45
## 15 45 165 75
## 16 40 170 55
## 17 60 150 50
## 18 35 165 70
## 19 60 165 65
## 20 45 155 50
## 21 30 170 50
## 22 40 180 85
## 23 55 175 60
## 24 35 170 65
## 25 45 175 80
## 26 35 180 90
## 27 25 175 85
## 28 60 160 70
## 29 45 165 60
## 30 45 170 65
## 31 65 140 45
## 32 55 180 75
## 33 20 180 90
## 34 40 170 70
## 35 50 170 55
## 36 40 170 80
## 37 25 175 70
## 38 55 175 75
## 39 35 175 85
## 40 20 175 70
## 41 40 160 50
## 42 50 160 80
## 43 60 160 70
## 44 40 185 75
## 45 80 145 55
## 46 20 165 70
## 47 25 180 60
## 48 30 180 80
## 49 50 155 45
## 50 60 165 65
## 51 50 155 55
## 52 55 175 70
## 53 50 150 55
## 54 30 170 70
## 55 40 175 70
## 56 60 165 65
## 57 45 160 70
## 58 30 190 100
## 59 40 170 70
## 60 30 165 60
## 61 35 170 85
## 62 50 175 65
## 63 35 175 75
## 64 60 160 65
## 65 40 175 75
## 66 45 160 60
## 67 50 160 50
## 68 35 160 75
## 69 40 150 55
## 70 55 165 65
## 71 50 155 60
## 72 45 155 60
## 73 50 155 65
## 74 30 165 75
## 75 65 165 55
## 76 45 170 60
## 77 20 170 75
## 78 45 160 45
## 79 60 170 85
## 80 40 160 55
## 81 45 165 60
## 82 55 150 50
## 83 40 175 75
## 84 40 155 50
## 85 35 175 75
## 86 50 155 50
## 87 45 165 60
## 88 25 165 60
## 89 25 170 65
## 90 35 175 70
## 91 55 165 50
## 92 25 170 60
## 93 40 160 70
## 94 60 150 55
## 95 50 150 60
## 96 25 175 65
## 97 40 170 75
## 98 30 175 75
## 99 35 160 60
## 100 40 170 60
head(data_fix)
## age height weight
## 1 40 155 60
## 2 40 160 60
## 3 55 170 60
## 4 40 165 70
## 5 40 155 60
## 6 30 180 75
library(MVN)
test = mvn(data_fix, mvnTest = "mardia", univariateTest = "SW", multivariatePlot = "qq")
test
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 7.87350725785789 0.641191101694451 YES
## 2 Mardia Kurtosis -1.26280232978918 0.206660227240692 YES
## 3 MVN <NA> <NA> YES
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Shapiro-Wilk age 0.9713 0.0280 NO
## 2 Shapiro-Wilk height 0.9676 0.0145 NO
## 3 Shapiro-Wilk weight 0.9685 0.0170 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th Skew Kurtosis
## age 100 42.40 11.752498 40 20 80 35 50 0.2535919 -0.09333735
## height 100 166.05 9.515936 165 140 190 160 175 -0.2289637 -0.37151761
## weight 100 66.00 11.437136 65 45 100 60 75 0.3228459 -0.21067231
Dengan perhitungan menggunakan RStudio, didapatkan p-value :
Mardia Skewness : 0.641191101694451
Mardia Kurtosis : 0.206660227240692
Kriteria Uji
Karena pada mardia’s test menggunakan dua nilai yaitu nilai skewness dan nilai kurtosis, sehingga :
Pada Mardia’s Test Skewness, tolak H0 jika p-value < α
Pada Mardia’s Test Kurtosis, tolak H0 jika p-value < α
Keputusan
Pada Mardia’s Test Skewness, p-value (0.641191101694451) > α, maka Terima H0
Pada Mardia’s Test Kurtosis, p-value (0.206660227240692) > α, maka Terima H0
Kesimpulan
Dengan taraf signifikansi 5% didapatkan keputusan terima H0 yang dapat disimpulkan data berdistribusi normal multivariat.
B. Uji Homogenitas Multivariat
Hipotesis
H0 : s1=s2=s3, matriks kovarians grup adalah sama.
H1 : Minimal ada satu matriks kovarians grup ( sk ) yang berbeda
Taraf Signifikansi
alpha : 5%
Statistik Uji
## Uji Homogenitas Multivariate
library(biotools)
## Loading required package: MASS
## ---
## biotools version 4.2
grup <- data$gender
head(grup)
## [1] "F" "F" "M" "M" "F" "M"
boxM(data = data_fix, grouping = grup)
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: data_fix
## Chi-Sq (approx.) = 7.3486, df = 6, p-value = 0.2898
Kriteria Uji
Tolak H0 jika P-Value < alpha, terima dalam hal lainnya
Keputusan
P-Value = 0.2898 > alpha, maka Terima H0
Kesimpulan
Dengan taraf signifikansi 5%, didapatkan keputusan terima H0 yang dapat disimpulkan bahwa data memiliki matriks kovarians grup yang sama.
C. Independensi
Asumsi independensi terpenuhi jika pengamatan didapatkan secara random. Untuk kasus diatas, pengukuran tersebut dilakukan secara random.
D. One way Manova
Hipotesis
H0 : μ 1 = μ 2 = 0. (Faktor gender tidak berpengaruh terhadap pengukuran umur dan fisik sinyal tubuh untuk merokok)
H1 : Terdapat minimal satu μi ≠ 0. (Faktor gender berpengaruh terhadap pengukuran umur dan fisik sinyal tubuh untuk merokok)
Taraf Signifikansi
alpha = 5%
Statistik Uji
## One Way MANOVA
owm = manova(cbind(data$age, data$height, data$weight)~data$gender)
summary(owm)
## Df Pillai approx F num Df den Df Pr(>F)
## data$gender 1 0.52524 35.403 3 96 1.703e-15 ***
## Residuals 98
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Kriteria Uji
Tolak H0 jika P-Value < alpha, terima dalam hal lainnya
Keputusan
Karena P-Value = 1.703e-15 < alpha, maka Tolak H0
Kesimpulan
Dengan taraf signifikansi 5%, didapatkan keputusan tolak H0, dapat disimpulkan bahwa gender secara signifikan mempengaruhi pengukuran umur dan fisik sinyal tubuh untuk merokok.
E. Uji Lanjut
Hipotesis
H0 : Faktor tidak berpengaruh secara signifikan terhadap vektor yang diamati
H1 : Faktor berpengaruh secara signifikan terhadap vektor yang diamati
Taraf signifikansi
alpha = 5%
Statistik Uji
## Uji Lanjut (Post Hoc Test)
summary.aov(owm)
## Response 1 :
## Df Sum Sq Mean Sq F value Pr(>F)
## data$gender 1 1666.8 1666.83 13.604 0.0003706 ***
## Residuals 98 12007.2 122.52
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response 2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## data$gender 1 4441.5 4441.5 96.227 3.135e-16 ***
## Residuals 98 4523.3 46.2
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response 3 :
## Df Sum Sq Mean Sq F value Pr(>F)
## data$gender 1 4678.1 4678.1 55.423 3.806e-11 ***
## Residuals 98 8271.9 84.4
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Kriteria Uji
Tolak H0 jika p-value < alpha, terima dalam hal lainnya
Keputusan
Response 1 ( Age)
Response 2 ( Height )
Response 3 ( Weight )
Kesimpulan
Dengan taraf signifikansi 5% :
Gender secara signifikan mempengaruhi umur sinyal tubuh untuk merokok
Gender secara signifikan mempengaruhi tinggi sinyal tubuh untuk merokok
Gender secara signifikan mempengaruhi berat sinyal tubuh untuk merokok
G. Kesimpulan
Setelah data diuji normalitas secara multivariate, homogenitas, one way manova, dan uji lanjut. Diketahui bahwa data berdistribusi normal multivariate dan memiliki matriks kovarians yang sama. Untuk one way manova, terdapat vektor rata-rata yang berbeda antar kelompok yang diamati. Setelah diuji lanjut diketahui bahwa gender secara signifikan mempengaruhi umur, tinggi, dan berat sinyal tubuh untuk merokok.
Two way Manova
library(readxl)
data2 = read_excel("C:/Users/aidan/Downloads/gym_members_exercise_tracking.xlsx", sheet = "Worksheet")
head(data2)
## # A tibble: 6 × 15
## Age Gender `Weight (kg)` `Height (m)` Max_BPM Avg_BPM Resting_BPM
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 56 1 88.3 1.71 180 157 60
## 2 46 2 74.9 1.53 179 151 66
## 3 32 2 68.1 1.66 167 122 54
## 4 25 1 53.2 1.7 190 164 56
## 5 38 1 46.1 1.79 188 158 68
## 6 56 2 58 1.68 168 156 74
## # ℹ 8 more variables: `Session_Duration (hours)` <dbl>, Calories_Burned <dbl>,
## # Workout_Type <dbl>, Fat_Percentage <dbl>, `Water_Intake (liters)` <dbl>,
## # `Workout_Frequency (days/week)` <dbl>, Experience_Level <dbl>, BMI <dbl>
Source data : https://www.kaggle.com/datasets/valakhorasani/gym-members-exercise-dataset
A. Uji Normalitas Multivariat
Hipotesis
H0 : Data berdistribusi normal multivariat
H1 : Data tidak berdistribusi normal multivariat
Taraf signifikansi
alpha = 5%
Statistik Uji
x1 <- data2[,1]
x2 <- data2[,5]
x3 <- data2[,6]
x4 <- data2[,7]
data2_fix <- data.frame(x1=x1, x2=x2, x3=x3, x4=x4)
library(MVN)
test = mvn(data2_fix, mvnTest = "mardia", univariateTest = "SW", multivariatePlot = "qq")
test
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 10.5108991037925 0.957934514666727 YES
## 2 Mardia Kurtosis -1.82418629747815 0.0681239124374806 YES
## 3 MVN <NA> <NA> YES
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Shapiro-Wilk Age 0.9563 0.0621 YES
## 2 Shapiro-Wilk Max_BPM 0.9501 0.0345 NO
## 3 Shapiro-Wilk Avg_BPM 0.9427 0.0173 NO
## 4 Shapiro-Wilk Resting_BPM 0.9532 0.0461 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th Skew
## Age 50 37.54 11.754652 38.0 19 59 28.00 45.00 0.09613631
## Max_BPM 50 180.94 10.426438 183.5 160 199 172.25 188.00 -0.28962816
## Avg_BPM 50 148.36 13.804406 149.0 122 169 136.00 160.75 -0.12732393
## Resting_BPM 50 61.68 7.078107 61.5 50 74 56.00 68.00 0.07559416
## Kurtosis
## Age -1.096506
## Max_BPM -1.022182
## Avg_BPM -1.323992
## Resting_BPM -1.241645
Didapatkan hasil p-value :
Mardia’s skewness : 0.957934514666727
Mardia’s kurtosis : 0.0681239124374804
Kriteria Uji
Karena pada mardia’s test menggunakan dua nilai yaitu nilai skewness dan nilai kurtosis, sehingga :
Pada Mardia’s Test Skewness, tolak H0 jika p-value < α
Pada Mardia’s Test Kurtosis, tolak H jika p-value < α
Keputusan
Mardia’s Test Skewness
p-value (0.957934514666727) > alpha, maka Terima H0
Mardia’s Test Kurtosis
p-value (0.0681239124374804) > alpha, maka Terima H0
Kesimpulan
Dengan taraf signifikansi 5% didapatkan keputusan terima H0, maka dapat disimpulkan data berdistribusi normal multivariat.
B. Uji Homogenitas
Karena ada 2 grup yaitu gender dan workout type maka dilakukan uji homogenitas sebanyak 2 kali dengan hipotesis, taraf signifikansi, dan statistik uji yang sama yakni menggunakan uji Box’s M dengan taraf signifikansi 5%.
Hipotesis
H0 : s1=s2=s3=s4, matriks kovarians grup adalah sama
H1 : Minimal ada satu matriks kovarians grup (sk ) yang berbeda
Taraf signifikansi
alpha = 5%
Statistik Uji
#Gender
grup <- data2[2]
library(biotools)
grup <- data2$Gender
head(grup)
## [1] 1 2 2 1 1 2
boxM(data = data2_fix, grouping = grup)
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: data2_fix
## Chi-Sq (approx.) = 8.5918, df = 10, p-value = 0.5712
#Workout type
grup2 <- data2[,10]
library(biotools)
grup <- data2$Workout_Type
head(grup2)
## # A tibble: 6 × 1
## Workout_Type
## <dbl>
## 1 1
## 2 2
## 3 3
## 4 3
## 5 3
## 6 2
boxM(data = data2_fix, grouping = grup)
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: data2_fix
## Chi-Sq (approx.) = 18.723, df = 20, p-value = 0.5399
Kriteria Uji
Tolak H0 jika p-value < alpha, terima dalam hal lainnya
Keputusan
Gender : p-value (0.5712) > alpha, maka terima H0
Workout type : p-value (0.745) > alpha, maka terima H0
Kesimpulan
Dengan taraf signifikansi 5%, didapatkan keputusan terima H0 yang dapat disimpulkan data memiliki matriks kovarian yang sama.
C. Uji Independensi
Asumsi independensi terpenuhi jika pengamatan didapatkan secara random. Untuk kasus diatas, pengukuran tersebut dilakukan secara random.
D. Two Way Manova
H0 : α 1 = α 2 = 0 (Faktor gender tidak berpengaruh terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM)
H1 : Setidaknya ada satu αi yang tidak sama dengan 0 (Faktor gender berpengaruh terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM)
H0 : β1=β2=0 (Faktor hasil tidak berpengaruh terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM)
H1 : Setidaknya ada satu β j yang tidak sama dengan 0, (Faktor workout type berpengaruh terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM)
H0 : αβ ij = 0 (Interaksi antara gender dan workout type tidak berpengaruh terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM)
H1 : Setidaknya ada satu αβ ij yang tidak sama dengan 0 (Interaksi antara gender dan workout type berpengaruh terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM)
Statistik Uji
## Two Way MANOVA
gender <- as.factor(data2$Gender)
workout <- as.factor(data2$Workout_Type)
# Mengubah list menjadi vektor jika memungkinkan
x1 <- unlist(x1)
x2 <- unlist(x2)
x3 <- unlist(x3)
x4 <- unlist(x4)
# Setelah semuanya diubah, coba gunakan cbind kembali
result <- cbind(x1,x2,x3,x4)
manova <- manova(cbind(x1,x2,x3,x4) ~ gender * workout, data = data2_fix)
summary(manova)
## Df Pillai approx F num Df den Df Pr(>F)
## gender 1 0.13194 1.5579 4 41 0.2037
## workout 2 0.18384 1.0629 8 84 0.3969
## gender:workout 2 0.19108 1.1091 8 84 0.3655
## Residuals 44
Kriteria Uji
Tolak H0 jika p-value < alpha, terima dalam hal lainnya
Keputusan
Gender
p-value = 0.2037 > alpha, maka terima H0
Workout type
p-value = 0.3969 > alpha, maka terima H0
Gender : Workout type
p-value = 0.3655 > alpha, maka terima H0
Kesimpulan
Dengan taraf signifikansi 5% dapat disimpulkan bahwa :
Gender tidak berpengaruh signifikan terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM.
Workout type tidak berpengaruh signifikan terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM.
Interaksi antara gender dan workout type tidak berpengaruh signifikan terhadap pengukuran umur, max BPM, avg BPM, dan resting BPM.
E. Uji Lanjut
Hipotesis
H0 : Faktor tidak berpengaruh secara signifikan terhadap vektor yang diamati.
H1 : Faktor berpengaruh secara signifikan terhadap vektor yang diamati.
Taraf Signifikansi
alpha = 5%
Statistik Uji
## Uji Lanjut
summary.aov(manova)
## Response x1 :
## Df Sum Sq Mean Sq F value Pr(>F)
## gender 1 55.4 55.378 0.3894 0.5359
## workout 2 454.7 227.355 1.5985 0.2137
## gender:workout 2 2.3 1.166 0.0082 0.9918
## Residuals 44 6258.0 142.227
##
## Response x2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## gender 1 79.6 79.622 0.6766 0.4152
## workout 2 15.5 7.774 0.0661 0.9362
## gender:workout 2 54.0 27.015 0.2296 0.7958
## Residuals 44 5177.6 117.673
##
## Response x3 :
## Df Sum Sq Mean Sq F value Pr(>F)
## gender 1 29.1 29.06 0.1592 0.6918
## workout 2 562.4 281.18 1.5410 0.2255
## gender:workout 2 717.7 358.83 1.9666 0.1520
## Residuals 44 8028.4 182.46
##
## Response x4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## gender 1 171.45 171.455 3.7421 0.0595 .
## workout 2 63.56 31.780 0.6936 0.5052
## gender:workout 2 203.87 101.935 2.2248 0.1201
## Residuals 44 2016.00 45.818
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Kriteria Uji
Tolak H0 jika p-value < alpha, terima dalam hal lainnya
Keputusan
Response 1 ( Umur)
Gender
p-value (0.5359) > alpha, maka terima H0
Workout type
p-value (0.2137) > alpha, maka terima H0
Gender : Workout type
p-value (0.9918) > alpha, maka terima H0
Response 2 (Max BPM)
Gender
p-value (0.4152) > alpha, maka terima H0
Workout type
p-value (0.9362) > alpha, maka terima H0
Gender : Workout type
p-value (0.7958) > alpha, maka terima H0
Response 3 (Avg BPM)
Gender
p-value (0.6918) > alpha, maka terima H0
Workout type
p-value (0.2255) > alpha, maka terima H0
Gender : Workout type
p-value (0.1520) > alpha, maka terima H0
Response 4 (Resting BPM)
Gender
p-value (0.0595) > alpha, maka terima H0
Workout type
p-value (0.5052) > alpha, maka terima H0
Gender : Workout type
p-value (0.1201) > alpha, maka terima H0
Kesimpulan
Dengan taraf signifikansi 5% :
Gender tidak mempengaruhi umur seseorang secara signifikan.
Gender tidak mempengaruhi max BPM secara signifikan.
Gender tidak mempengaruhi avg BPM secara signifikan.
Gender tidak mempengaruhi resting BPM secara signifikan.
Workout type tidak mempengaruhi umur seseorang secara signifikan.
Workout type tidak mempengaruhi max BPM secara signifikan.
Workout type tidak mempengaruhi avg BPM secara signifikan.
Workout type tidak mempengaruhi resting BPM secara signifikan.
Interaksi gender dan workout type tidak mempengaruhi umur secara signifikan.
Interaksi gender dan workout type tidak mempengaruhi max BPM secara signifikan.
Interaksi gender dan workout type tidak mempengaruhi avg BPM secara signifikan.
Interaksi gender dan workout type tidak mempengaruhi resting BPM secara signifikan.