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" ...
# 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.


Correlation Matrix

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.


Variance-Covariance Matrix

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 Value dan Eigen Vector

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.


Kesimpulan

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).