data_intro <- read.csv("C:/Users/Lenovo/Downloads/hcv+data/hcvdat0.csv",sep = ",")
str(data_intro)
## 'data.frame': 615 obs. of 14 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Category: chr "0=Blood Donor" "0=Blood Donor" "0=Blood Donor" "0=Blood Donor" ...
## $ Age : int 32 32 32 32 32 32 32 32 32 32 ...
## $ Sex : chr "m" "m" "m" "m" ...
## $ ALB : num 38.5 38.5 46.9 43.2 39.2 41.6 46.3 42.2 50.9 42.4 ...
## $ ALP : num 52.5 70.3 74.7 52 74.1 43.3 41.3 41.9 65.5 86.3 ...
## $ ALT : num 7.7 18 36.2 30.6 32.6 18.5 17.5 35.8 23.2 20.3 ...
## $ AST : num 22.1 24.7 52.6 22.6 24.8 19.7 17.8 31.1 21.2 20 ...
## $ BIL : num 7.5 3.9 6.1 18.9 9.6 12.3 8.5 16.1 6.9 35.2 ...
## $ CHE : num 6.93 11.17 8.84 7.33 9.15 ...
## $ CHOL : num 3.23 4.8 5.2 4.74 4.32 6.05 4.79 4.6 4.1 4.45 ...
## $ CREA : num 106 74 86 80 76 111 70 109 83 81 ...
## $ GGT : num 12.1 15.6 33.2 33.8 29.9 91 16.9 21.5 13.7 15.9 ...
## $ PROT : num 69 76.5 79.3 75.7 68.7 74 74.5 67.1 71.3 69.9 ...
data_intro <- data_intro[, names(data_intro) != "X"]
data_numeric <- data_intro[, sapply(data_intro, is.numeric)]
str(data_numeric)
## 'data.frame': 615 obs. of 11 variables:
## $ Age : int 32 32 32 32 32 32 32 32 32 32 ...
## $ ALB : num 38.5 38.5 46.9 43.2 39.2 41.6 46.3 42.2 50.9 42.4 ...
## $ ALP : num 52.5 70.3 74.7 52 74.1 43.3 41.3 41.9 65.5 86.3 ...
## $ ALT : num 7.7 18 36.2 30.6 32.6 18.5 17.5 35.8 23.2 20.3 ...
## $ AST : num 22.1 24.7 52.6 22.6 24.8 19.7 17.8 31.1 21.2 20 ...
## $ BIL : num 7.5 3.9 6.1 18.9 9.6 12.3 8.5 16.1 6.9 35.2 ...
## $ CHE : num 6.93 11.17 8.84 7.33 9.15 ...
## $ CHOL: num 3.23 4.8 5.2 4.74 4.32 6.05 4.79 4.6 4.1 4.45 ...
## $ CREA: num 106 74 86 80 76 111 70 109 83 81 ...
## $ GGT : num 12.1 15.6 33.2 33.8 29.9 91 16.9 21.5 13.7 15.9 ...
## $ PROT: num 69 76.5 79.3 75.7 68.7 74 74.5 67.1 71.3 69.9 ...
cor_matrix <- cor(data_numeric, use = "complete.obs")
cor_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 data. Dari hasil ini, kita bisa tahu apakah dua variabel saling berhubungan atau tidak. Nilainya berkisar antara −1 sampai 1. Jika nilainya mendekati 1, artinya kedua variabel memiliki hubungan positif yang kuat. Jika mendekati −1, berarti hubungannya negatif. Sedangkan nilai mendekati 0 menunjukkan hubungan yang lemah atau hampir tidak ada. Correlation matrix membantu dapat memahami pola hubungan antar variabel dalam dataset.
cov_matrix <- cov(data_numeric, use = "complete.obs")
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
Variance–covariance matrix digunakan untuk mengetahui seberapa besar penyebaran data dan hubungan perubahan antar variabel. Nilai pada bagian diagonal menunjukkan varians, yaitu seberapa besar data pada satu variabel menyebar dari rata-ratanya. Sementara itu, nilai di luar diagonal menunjukkan kovarians, yaitu apakah dua variabel cenderung meningkat atau menurun secara bersamaan. Matriks ini penting karena menjadi dasar untuk analisis lanjutan seperti perhitungan eigen value dan eigen vector.
eigen_result <- eigen(cov_matrix)
Eigen value dan eigen vector adalah hasil dari pengolahan data menggunakan variance–covariance matrix. Keduanya dipakai untuk melihat struktur utama dari data. Eigen value menunjukkan seberapa besar informasi yang bisa dijelaskan oleh suatu komponen, sedangkan eigen vector menunjukkan peran masing-masing variabel dalam membentuk komponen tersebut. Dengan melihat keduanya, dapat dilihat bagian data mana yang paling penting untuk dianalisis.
eigen_values <- eigen_result$values
eigen_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 menunjukkan seberapa besar variasi data yang dapat dijelaskan oleh suatu komponen. Nilai eigen value yang besar berarti komponen tersebut menjelaskan data lebih banyak dibandingkan komponen lainnya. Karena itu, eigen value sering digunakan untuk menentukan komponen mana yang paling berpengaruh dan layak diperhatikan dalam analisis.
eigen_vectors <- eigen_result$vectors
eigen_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 menunjukkan arah dan kontribusi setiap variabel terhadap suatu komponen. Nilai di dalam eigen vector menggambarkan seberapa besar pengaruh masing-masing variabel dalam membentuk pola utama data. Dari eigen vector, daapat diketahui variabel mana yang paling dominan dan berperan besar dalam analisis.