Import data
data <- read.csv("Maternal Health Risk Data Set.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
A. Correlation Matrix
data_numeric <- data[, sapply(data, is.numeric)]
cor_matrix <- cor(data_numeric)
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
Visualisasi corelation plot
if (!require(corrplot)) {
install.packages("corrplot")
}
## Loading required package: corrplot
## corrplot 0.95 loaded
library(corrplot)
corrplot(cor_matrix,
method = "color",
type = "upper",
tl.col = "black",
tl.srt = 45)

B. 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
corrplot(cov_matrix,
method = "color",
addCoef.col = "black",
tl.col = "black",
tl.srt = 45,
is.corr = FALSE,
mar = c(0, 0, 1, 0))

C. Eigen value dan eigen vector
eigen <- eigen(cov_matrix)
eigen_values <- eigen$values
eigen_values
## [1] 529.521825 136.772898 64.572037 51.358769 7.360073 1.647943
eigen_vectors <- eigen$vectors
eigen_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
D. Jelaskan hasil dari setiap output
- Covariance matrix menunjukkan besarnya variasi masing-masing
variabel pada diagonal utama serta hubungan perubahan bersama antar
variabel di luar diagonal. Nilai kovarians yang besar menandakan adanya
keterkaitan perubahan antar variabel, namun nilainya dipengaruhi oleh
perbedaan satuan pengukuran.
- Eigen value menunjukkan seberapa besar variasi data yang dijelaskan
oleh setiap komponen utama. Komponen dengan eigen value terbesar
merupakan komponen paling dominan dan menjelaskan variasi data paling
besar.
- Eigen vector menunjukkan kontribusi masing-masing variabel terhadap
setiap komponen utama. Nilai absolut yang lebih besar menandakan
variabel tersebut memiliki peran yang lebih penting dalam membentuk
komponen tersebut.```