import data
data <- read.csv("Maternal Health Risk Data Set.csv")
str(data)
## 'data.frame': 1014 obs. of 7 variables:
## $ Age : int 25 35 29 30 35 23 23 35 32 42 ...
## $ SystolicBP : int 130 140 90 140 120 140 130 85 120 130 ...
## $ DiastolicBP: int 80 90 70 85 60 80 70 60 90 80 ...
## $ BS : num 15 13 8 7 6.1 7.01 7.01 11 6.9 18 ...
## $ BodyTemp : num 98 98 100 98 98 98 98 102 98 98 ...
## $ HeartRate : int 86 70 80 70 76 70 78 86 70 70 ...
## $ RiskLevel : chr "high risk" "high risk" "high risk" "high risk" ...
data_num <- data[, sapply(data, is.numeric)]
a.korelasi matriks
cor_matrix <- cor(data_num, method = "pearson")
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
penjelasan: Berdasarkan matriks korelasi, terlihat bahwa age memiliki hubungan positif sedang dengan SystolicBP, DiastolicBP, dan BS, yang menunjukkan bahwa peningkatan usia cenderung diikuti oleh kenaikan tekanan darah dan kadar gula darah. Hubungan paling kuat terjadi antara SystolicBP dan DiastolicBP, menandakan keduanya meningkat secara bersamaan. Variabel BS juga memiliki korelasi positif sedang dengan tekanan darah. Sebaliknya, BodyTemp menunjukkan korelasi negatif lemah terhadap sebagian besar variabel, sedangkan HeartRate memiliki korelasi yang sangat lemah, sehingga kedua variabel ini relatif tidak memiliki hubungan linier yang signifikan dengan variabel lainnya.
b.varians dan kovarians
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
penjelasan: Berikut penjelasan singkat dalam 1 paragraf untuk output variance–covariance matrix di atas:
Berdasarkan matriks varians–kovarians, nilai diagonal menunjukkan varians masing-masing variabel, di mana SystolicBP dan HeartRate memiliki varians paling besar, menandakan tingkat penyebaran data yang tinggi. Nilai kovarians positif antara Age, SystolicBP, DiastolicBP, dan BS menunjukkan bahwa variabel-variabel tersebut cenderung meningkat secara bersamaan. Sebaliknya, BodyTemp memiliki kovarians negatif terhadap sebagian besar variabel lain, yang mengindikasikan hubungan berlawanan arah meskipun lemah. Kovarians HeartRate dengan variabel lain relatif kecil dan tidak konsisten, sehingga menunjukkan bahwa denyut jantung tidak memiliki keterkaitan yang kuat dengan variabel kesehatan lainnya dalam dataset ini.
c. eigen value dan eigen vektor
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
penjelasan: Berikut penjelasan narasi yang ringkas dan sederhana untuk hasil eigen value dan eigen vector di atas (dijadikan 1 paragraf):
Hasil eigen value menunjukkan bahwa komponen utama pertama memiliki nilai paling besar (529,52), yang berarti komponen ini menjelaskan variasi data terbesar, diikuti oleh komponen kedua (136,77) dan ketiga (64,57). Hal ini menandakan bahwa sebagian besar informasi dalam data dapat direpresentasikan oleh beberapa komponen utama saja. Eigen vector menunjukkan kontribusi masing-masing variabel terhadap setiap komponen, di mana komponen utama pertama didominasi oleh SystolicBP, DiastolicBP, dan Age, sehingga variasi terbesar dalam data terutama dipengaruhi oleh tekanan darah dan usia. Komponen-komponen selanjutnya merepresentasikan variasi yang lebih kecil dan dipengaruhi oleh variabel lain seperti BodyTemp dan HeartRate, yang kontribusinya relatif rendah dibandingkan variabel tekanan darah.