# Import data
data <- read.csv("hcv_data.csv")
#mengambil kolom numerik
data_numerik <- data[, sapply(data, is.numeric)]
data_numerik <- data_numerik[, -1]
#menghilangkan missing value
data_clean <- na.omit(data_numerik)
head (data_clean)
## Age ALB ALP ALT AST BIL CHE CHOL CREA GGT PROT
## 1 32 38.5 52.5 7.7 22.1 7.5 6.93 3.23 106 12.1 69.0
## 2 32 38.5 70.3 18.0 24.7 3.9 11.17 4.80 74 15.6 76.5
## 3 32 46.9 74.7 36.2 52.6 6.1 8.84 5.20 86 33.2 79.3
## 4 32 43.2 52.0 30.6 22.6 18.9 7.33 4.74 80 33.8 75.7
## 5 32 39.2 74.1 32.6 24.8 9.6 9.15 4.32 76 29.9 68.7
## 6 32 41.6 43.3 18.5 19.7 12.3 9.92 6.05 111 91.0 74.0
#correlation matrix
correlation_matrix <- cor(data_clean)
correlation_matrix
## Age ALB ALP ALT AST BIL
## Age 1.00000000 -0.191093637 0.17771977 -0.04057647 0.07273886 0.03965486
## ALB -0.19109364 1.000000000 -0.14611991 0.03949714 -0.17760895 -0.16959750
## ALP 0.17771977 -0.146119911 1.00000000 0.22160301 0.06702428 0.05837241
## ALT -0.04057647 0.039497139 0.22160301 1.00000000 0.19865775 -0.10679662
## AST 0.07273886 -0.177608947 0.06702428 0.19865775 1.00000000 0.30957974
## BIL 0.03965486 -0.169597498 0.05837241 -0.10679662 0.30957974 1.00000000
## CHE -0.07586328 0.360919403 0.02948169 0.22434447 -0.19727042 -0.32071323
## CHOL 0.12474161 0.210419878 0.12590008 0.14999727 -0.20121300 -0.18156956
## CREA -0.02514225 0.001433247 0.15390895 -0.03610554 -0.01794810 0.01990962
## GGT 0.14337927 -0.147598318 0.46130000 0.21970686 0.47777362 0.21056656
## PROT -0.15975998 0.570725680 -0.06308514 0.01678633 0.01740394 -0.05257491
## CHE CHOL CREA GGT PROT
## Age -0.07586328 0.124741615 -0.025142253 0.143379268 -0.15975998
## ALB 0.36091940 0.210419878 0.001433247 -0.147598318 0.57072568
## ALP 0.02948169 0.125900079 0.153908950 0.461299996 -0.06308514
## ALT 0.22434447 0.149997271 -0.036105541 0.219706857 0.01678633
## AST -0.19727042 -0.201213004 -0.017948098 0.477773617 0.01740394
## BIL -0.32071323 -0.181569556 0.019909617 0.210566559 -0.05257491
## CHE 1.00000000 0.428018276 -0.012119999 -0.095716131 0.30628754
## CHOL 0.42801828 1.000000000 -0.051464078 0.008822692 0.24504950
## CREA -0.01212000 -0.051464078 1.000000000 0.125353469 -0.03011070
## GGT -0.09571613 0.008822692 0.125353469 1.000000000 -0.03712701
## PROT 0.30628754 0.245049503 -0.030110695 -0.037127008 1.00000000
Correlation matrix digunakan untuk melihat hubungan antar variabel numerik dalam dataset. Nilai korelasi berada pada rentang -1 hingga 1. Nilai yang mendekati 1 menunjukkan hubungan positif yang kuat, nilai mendekati -1 menunjukkan hubungan negatif yang kuat, sedangkan nilai mendekati 0 menunjukkan hubungan yang lemah atau tidak terdapat hubungan antar variabel. Berdasarkan hasil correlation matrix, terdapat beberapa hubungan yang cukup kuat antar variabel. Variabel ALB dan PROT memiliki nilai korelasi sebesar 0.57 yang menunjukkan hubungan positif cukup kuat. Selain itu variabel BIL dan CHE memiliki nilai korelasi sebesar -0.32 yang menunjukkan hubungan negatif.
#covariance matrix
cov_matrix <- cov(data_clean)
cov_matrix
## Age ALB ALP ALT AST BIL
## Age 98.631388 -10.9348172 45.750544 -8.407388 23.742827 6.855155
## ALB -10.934817 33.1982701 -21.823283 4.747912 -33.634186 -17.009455
## ALP 45.750544 -21.8232826 671.901949 119.841675 57.100968 26.337454
## ALT -8.407388 4.7479116 119.841675 435.269784 136.220708 -38.783770
## AST 23.742827 -33.6341863 57.100968 136.220708 1080.231200 177.110426
## BIL 6.855155 -17.0094554 26.337454 -38.783770 177.110426 302.988734
## CHE -1.650806 4.5564303 1.674411 10.255372 -14.206173 -12.231702
## CHOL 1.398606 1.3687395 3.684302 3.532962 -7.466047 -3.568064
## CREA -12.658841 0.4186596 202.254881 -38.188738 -29.906045 17.569457
## GGT 77.323769 -46.1804560 649.315069 248.909775 852.706557 199.031456
## PROT -8.486697 17.5892871 -8.746677 1.873261 3.059630 -4.895025
## CHE CHOL CREA GGT PROT
## Age -1.650806 1.3986055 -12.6588412 77.3237685 -8.486697
## ALB 4.556430 1.3687395 0.4186596 -46.1804560 17.589287
## ALP 1.674411 3.6843023 202.2548814 649.3150694 -8.746677
## ALT 10.255372 3.5329616 -38.1887382 248.9097752 1.873261
## AST -14.206173 -7.4660468 -29.9060449 852.7065571 3.059630
## BIL -12.231702 -3.5680635 17.5694569 199.0314564 -4.895025
## CHE 4.800799 1.0587548 -1.3462991 -11.3883550 3.589626
## CHOL 1.058755 1.2745375 -2.9455248 0.5408745 1.479767
## CREA -1.346299 -2.9455248 2570.1849279 345.0941704 -8.165186
## GGT -11.388355 0.5408745 345.0941704 2948.7514092 -10.783808
## PROT 3.589626 1.4797666 -8.1651857 -10.7838076 28.610549
Covariance matrix digunakan untuk melihat tingkat penyebaran data serta arah hubungan antar variabel numerik. Nilai kovarians menunjukkan apakah dua variabel berubah secara bersamaan. Nilai kovarians positif menunjukkan bahwa kedua variabel cenderung meningkat atau menurun secara bersamaan, sedangkan nilai kovarians negatif menunjukkan bahwa ketika satu variabel meningkat, variabel lainnya cenderung menurun. Variabel dengan nilai varians terbesar adalah GGT sebesar 2948.75, sedangkan variabel CHOL memiliki nilai varians yang relatif kecil yaitu sebesar 1.27. Covariance matrix juga menunjukkan adanya hubungan positif antar beberapa variabel. Salah satu hubungan positif yang cukup besar terlihat antara AST dan GGT dengan nilai kovarians sebesar 852.71. Sedangkan hubungan negatif terlihat antara ALB dan GGT sebesar -46.18.
eigen_result <- eigen(cov_matrix)
# Eigen Value
eigen_result$values
## [1] 3592.3628875 2477.4068784 843.8984053 489.7454024 382.8104539
## [6] 232.9586647 95.1113858 44.7180378 12.3733533 3.5687100
## [11] 0.8893693
Eigen value digunakan untuk menunjukkan besarnya kontribusi masing-masing komponen utama dalam menjelaskan variasi data. Nilai eigen yang lebih besar menunjukkan bahwa komponen tersebut mampu menjelaskan variasi data yang lebih besar dibandingkan komponen lainnya.
# Eigen Vector
eigen_result$vectors
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.0228584952 -0.0158247293 0.025048832 0.008286601 -0.094203786
## [2,] -0.0156851813 0.0082379827 0.012607209 -0.005994933 0.063944782
## [3,] 0.2241968280 -0.0044277358 0.453772184 0.601734944 -0.592486825
## [4,] 0.0845278489 -0.0635494091 0.021417463 0.665833839 0.612578629
## [5,] 0.3032700134 -0.1976275992 -0.835204909 0.281450347 -0.171571033
## [6,] 0.0710560295 -0.0325307981 -0.172391018 -0.122528794 -0.442337423
## [7,] -0.0039834770 0.0017981648 0.014875990 0.018327932 0.030580260
## [8,] -0.0005237225 -0.0006354985 0.010805636 0.005580850 0.007464542
## [9,] 0.3237154091 0.9386317685 -0.111165518 0.011269971 0.037686736
## [10,] 0.8602198550 -0.2728943388 0.229755213 -0.315835470 0.180980271
## [11,] -0.0038238240 -0.0020264214 -0.008747619 0.001425133 0.021896627
## [,6] [,7] [,8] [,9] [,10]
## [1,] -0.066038155 0.966939008 -0.223346101 -0.001275823 -0.0082657011
## [2,] -0.007498458 -0.156765672 -0.705923998 0.683108436 -0.0760513727
## [3,] -0.145767748 -0.094057692 -0.017421084 0.015820825 -0.0051761247
## [4,] 0.402840568 0.080792659 0.013790086 -0.014560342 -0.0234354579
## [5,] -0.247321000 -0.027211189 -0.011597518 0.023495365 0.0107082126
## [6,] 0.866178840 0.008479942 -0.048180731 0.010219609 0.0271089782
## [7,] -0.014579571 -0.020040710 -0.110555214 -0.012802671 0.9686083650
## [8,] -0.002203351 0.010172547 -0.048846711 -0.031886066 0.2126127540
## [9,] 0.007211477 0.014298812 -0.001647690 -0.003576001 0.0003442493
## [10,] 0.012826050 -0.009233404 0.001466248 -0.001302705 0.0005266345
## [11,] -0.013659573 -0.153205726 -0.658957481 -0.728729955 -0.0965170844
## [,11]
## [1,] 0.0192636522
## [2,] -0.0045775514
## [3,] 0.0023938915
## [4,] 0.0033410925
## [5,] -0.0065686504
## [6,] 0.0001067362
## [7,] 0.2174530193
## [8,] -0.9752335381
## [9,] -0.0012569024
## [10,] 0.0017980940
## [11,] 0.0343048571
Eigen vector digunakan untuk menunjukkan arah pembentukan masing-masing komponen utama. Nilai pada eigen vector menunjukkan kontribusi masing-masing variabel terhadap komponen utama. Semakin besar nilai absolut suatu variabel dalam eigen vector, maka semakin besar pengaruh variabel tersebut terhadap komponen utama yang terbentuk.