data <- read.csv("DataAnalisisMultivariat.csv")
head(data)
## Age SystolicBP DiastolicBP BS BodyTemp HeartRate RiskLevel
## 1 25 130 80 15.00 98 86 high risk
## 2 35 140 90 13.00 98 70 high risk
## 3 29 90 70 8.00 100 80 high risk
## 4 30 140 85 7.00 98 70 high risk
## 5 35 120 60 6.10 98 76 low risk
## 6 23 140 80 7.01 98 70 high risk
Dataset yang digunakan dalam penelitian adalah dataset Risiko Kesehatan Ibu berisi data kondisi kesehatan ibu hamil dari berbagai rumah sakit, khususnya di wilayah pedesaan Bangladesh. Pengumpulan data dilakukan dengan tujuan untuk memantau serta menganalisis faktor-faktor kesehatan yang berpengaruh terhadap tingkat risiko ibu selama masa kehamilan.
Dataset bersifat multivariat dan terdiri dari 1013 observasi dengan 7 variabel. Enam variabel berupa data numerik, yaitu usia, tekanan darah sistonik, tekanan darag diastolik, kadar gula darah, suhu tubuh, dan deyut jantung. Satu variabel lainnya adalah RiskLevel yang bersifat kategorikal dan menunjukkan tingkat risiko kesehatan ibu. Dataset ini tidak memiliki nilai yang hilang sehingga dapat langsung digunakan untuk analisis statistik dan multivariat.
data_num <- data[, sapply(data, is.numeric)]
cor_matrix <- cor(data_num)
cor_matrix
## Age SystolicBP DiastolicBP BS BodyTemp
## Age 1.00000000 0.41604545 0.39802629 0.4732843 -0.25532314
## SystolicBP 0.41604545 1.00000000 0.78700648 0.4251717 -0.28661552
## DiastolicBP 0.39802629 0.78700648 1.00000000 0.4238241 -0.25753832
## BS 0.47328434 0.42517166 0.42382407 1.0000000 -0.10349336
## BodyTemp -0.25532314 -0.28661552 -0.25753832 -0.1034934 1.00000000
## HeartRate 0.07979763 -0.02310796 -0.04615057 0.1428672 0.09877104
## HeartRate
## Age 0.07979763
## SystolicBP -0.02310796
## DiastolicBP -0.04615057
## BS 0.14286723
## BodyTemp 0.09877104
## HeartRate 1.00000000
Berdasarkan matriks korelasi menunjukkan bahwa tekanan darah sistolik dan diastolik memiliki korelasi positif yang kuat dengan nilai sebesar 0,787 , yang menunjukkan bahwa peningkatan tekanan darah sistolik cenderung diikuti oleh peningkatan tekanan darah diastolik. Selain itu, usia memiliki korelasi positif sedang dengan tekanan darah sistolik (0,416) dan diastolik (0,389), serta dengan kadar gula darah (0,473). Hal ini menunjukkan bahwa usia berpotensi berhubungan dengan peningkatan beberapa indikator kesehatan ibu hamil.
Di sisi lain, suhu tubuh menunjukkan korelasi negatif yang lemah terhadap sebagian besar variabel, seperti dengan tekanan darah sistolik (-0,287) dan diastolik (-0,258). Denyut jantung juga memiliki hubungan yang relatif lemah dengan variabel lainnya, misalnya dengan usia (0,080) dan tekanan darah sistolik (-0,023). Berdasarkan identifikasi bahwa suhu tubuh dan denyut jantung memiliki keterkaitan yang lebih kecil dibandingkan tekanan darah dan kadar gula darah dalam dataset ini.
cov_matrix <- cov(data_num)
cov_matrix
## Age SystolicBP DiastolicBP BS BodyTemp HeartRate
## Age 181.559065 103.171539 74.471739 21.0035619 -4.7180044 8.697168
## SystolicBP 103.171539 338.704005 201.121845 25.7712999 -7.2338429 -3.439938
## DiastolicBP 74.471739 201.121845 192.815323 19.3828770 -4.9042413 -5.183543
## BS 21.003562 25.771300 19.382877 10.8473512 -0.4674483 3.806040
## BodyTemp -4.718004 -7.233843 -4.904241 -0.4674483 1.8806951 1.095640
## HeartRate 8.697168 -3.439938 -5.183543 3.8060397 1.0956395 65.427104
Matriks varians-kovarians menunjukkan bahwa tekanan darah sistolik dan diastolik memiliki hubungan yang kuat, ditunjukkan oleh nilai kovarians yang tinggi (201,12), sehingga keduanya cenderung meningkat secara bersamaan. Varians yang cukup besar pada usia (181,56), tekanan darah sistolik (338,70), dan diastolik (192,82) menandakan adanya variasi data yang tinggi pada variabel-variabel tersebut.
Sementara itu, suhu tubuh memiliki kovarians negatif dengan sebagian besar variabel, seperti usia (-4,72) dan tekanan darah sistolik (-7,23), meskipun hubungannya lemah. Denyut jantung juga menunjukkan hubungan yang relatif kecil dengan variabel lain, sehingga pengaruhnya tidak sekuat tekanan darah dan usia dalam dataset ini.
eigen_result <- eigen(cov_matrix)
eigen_result$values
## [1] 529.521825 136.772898 64.572037 51.358769 7.360073 1.647943
eigen_result$vectors
## [,1] [,2] [,3] [,4] [,5]
## [1,] -0.346411189 0.923900546 -0.13192259 0.042731491 0.08198705
## [2,] -0.764857940 -0.293487053 0.14910706 0.553048994 0.02349903
## [3,] -0.537978589 -0.186074547 -0.12389090 -0.811464330 0.04575582
## [4,] -0.072118241 0.069777475 0.04387199 -0.031191932 -0.99247862
## [5,] 0.018657383 -0.008883756 0.01905652 -0.008215683 -0.04608110
## [6,] 0.004638836 0.143880423 0.97094112 -0.181096759 0.05911889
## [,6]
## [1,] 0.021345781
## [2,] 0.014469639
## [3,] 0.006196148
## [4,] -0.044928412
## [5,] 0.998508320
## [6,] -0.016098692
Hasil analisis eigen value menunjukkan bahwa komponen utama pertama memiliki nilai eigen terbesar yaitu 529,52, yang berarti sebagian besar variasi data dijelaskan oleh komponen ini. Komponen berikutnya memiliki eigen value yang jauh lebih kecil, yaitu 136,77, 64,57, dan 51,36, sedangkan dua komponen terakhir memiliki nilai yang sangat kecil (7,36 dan 1,65). Hal ini menunjukkan bahwa sebagian besar informasi dalam dataset dapat direpresentasikan hanya oleh beberapa komponen utama pertama.
Eigen vector menunjukkan kontribusi masing-masing variabel terhadap setiap komponen utama. Pada komponen utama pertama, variabel tekanan darah sistolik dan diastolik serta usia memiliki bobot terbesar, sehingga komponen ini terutama merepresentasikan faktor tekanan darah dan usia ibu. Variabel lain seperti suhu tubuh dan denyut jantung memiliki kontribusi yang lebih kecil, sehingga pengaruhnya terhadap variasi utama data relatif rendah.