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" ...
# Menghapus variabel kategorik (RiskLevel) karena analisis hanya untuk data numerik
data_numeric <- data[, -which(names(data) == "RiskLevel")]
str(data_numeric)
## 'data.frame': 1014 obs. of 6 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 ...
Penjelasan:
Data berhasil diimport ke dalam R dengan jumlah 1014 observasi dan 7
variabel. Variabel RiskLevel dihapus karena bertipe kategorik,
sedangkan analisis korelasi, kovarians, dan eigen hanya dapat dilakukan
pada data numerik.
cor_matrix <- cor(data_numeric)
round(cor_matrix, 3)
## Age SystolicBP DiastolicBP BS BodyTemp HeartRate
## Age 1.000 0.416 0.398 0.473 -0.255 0.080
## SystolicBP 0.416 1.000 0.787 0.425 -0.287 -0.023
## DiastolicBP 0.398 0.787 1.000 0.424 -0.258 -0.046
## BS 0.473 0.425 0.424 1.000 -0.103 0.143
## BodyTemp -0.255 -0.287 -0.258 -0.103 1.000 0.099
## HeartRate 0.080 -0.023 -0.046 0.143 0.099 1.000
Penjelasan:
Matriks korelasi menunjukkan hubungan linear antar variabel dengan nilai
antara -1 sampai 1. Nilai mendekati 1 berarti hubungan positif kuat,
mendekati -1 berarti negatif kuat, dan mendekati 0 berarti hubungan
lemah. Dari hasil yang diperoleh, tekanan darah sistolik dan diastolik
memiliki hubungan paling kuat. Artinya, jika tekanan sistolik meningkat
maka tekanan diastolik juga cenderung meningkat.
cov_matrix <- cov(data_numeric)
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:
Matriks varians-kovarians menunjukkan tingkat penyebaran data serta arah
hubungan antar variabel. Nilai pada diagonal utama merupakan varians
masing-masing variabel. Semakin besar nilainya, semakin besar variasi
data pada variabel tersebut. Nilai di luar diagonal menunjukkan
kovarians, yaitu hubungan searah (positif) atau berlawanan arah
(negatif).
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:
Eigen value menunjukkan seberapa besar variasi data yang dijelaskan oleh
masing-masing komponen utama. Komponen dengan eigen value terbesar
memiliki kontribusi variasi paling besar dalam data. Eigen vector
menunjukkan kontribusi masing-masing variabel dalam membentuk komponen
tersebut.
Berdasarkan hasil analisis, terdapat hubungan yang cukup kuat antara beberapa variabel, terutama antara tekanan darah sistolik dan diastolik. Varians menunjukkan adanya perbedaan tingkat penyebaran data antar variabel. Analisis eigen menunjukkan bahwa terdapat komponen utama yang memiliki kontribusi besar dalam menjelaskan variasi data. Hasil ini dapat menjadi dasar untuk analisis lanjutan seperti Principal Component Analysis (PCA).