Import data

data <- read.csv("hcvdat0.csv")
head(data)
##   X      Category Age Sex  ALB  ALP  ALT  AST  BIL   CHE CHOL CREA  GGT PROT
## 1 1 0=Blood Donor  32   m 38.5 52.5  7.7 22.1  7.5  6.93 3.23  106 12.1 69.0
## 2 2 0=Blood Donor  32   m 38.5 70.3 18.0 24.7  3.9 11.17 4.80   74 15.6 76.5
## 3 3 0=Blood Donor  32   m 46.9 74.7 36.2 52.6  6.1  8.84 5.20   86 33.2 79.3
## 4 4 0=Blood Donor  32   m 43.2 52.0 30.6 22.6 18.9  7.33 4.74   80 33.8 75.7
## 5 5 0=Blood Donor  32   m 39.2 74.1 32.6 24.8  9.6  9.15 4.32   76 29.9 68.7
## 6 6 0=Blood Donor  32   m 41.6 43.3 18.5 19.7 12.3  9.92 6.05  111 91.0 74.0

Variabel numerik

data_num <- data[, c("Age","ALB","ALP","ALT","AST","BIL","CHE","CHOL","CREA","GGT","PROT")]
head(data_num)
##   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
data_clean <- na.omit(data_num)

a. Correlation Matrix

cor_matrix <- cor(data_clean)
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

b. Variance–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

c. Eigen Value dan Eigen Vector

eigen_result <- eigen(cov_matrix)
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_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

d. Jelaskan hasil dari setiap output

Correlation Matrix, sebagian besar variabel memiliki hubungan yang lemah hingga sedang. Usia (Age) menunjukkan korelasi negatif lemah dengan ALB (-0,19) dan PROT (-0,16), yang mengindikasikan bahwa peningkatan usia cenderung diikuti sedikit penurunan kadar albumin dan protein. Hubungan positif sedang terlihat antara ALP dengan GGT (0,46) serta antara AST dengan GGT (0,48), yang menunjukkan keterkaitan antar indikator fungsi hati. Selain itu, ALB memiliki korelasi positif cukup kuat dengan PROT (0,57), menandakan bahwa kadar albumin berkontribusi besar terhadap protein total, sementara CHE dan CHOL juga menunjukkan korelasi positif sedang (0,43).

Variance–Covariance Matrix, terlihat bahwa setiap variabel memiliki tingkat penyebaran yang berbeda-beda, yang ditunjukkan oleh nilai varians pada diagonal matriks, misalnya varians CREA (2570,18), GGT (2948,75), dan AST (1080,23) yang relatif besar dibandingkan variabel lain. Nilai kovarians positif, seperti antara ALP dan GGT (649,32) serta antara AST dan GGT (852,71), menunjukkan bahwa kedua pasangan variabel tersebut cenderung meningkat bersama. Sebaliknya, kovarians negatif, misalnya antara ALB dan AST (-33,63) serta antara ALT dan BIL (-38,78), menunjukkan kecenderungan hubungan berlawanan arah. Secara keseluruhan, matriks ini menggambarkan adanya variasi dan keterkaitan antar variabel klinis, sehingga mendukung penggunaan analisis multivariat untuk memahami struktur data secara lebih menyeluruh.

Eigen Value dan Eigen Vector, Hasil eigen value menunjukkan bahwa dua komponen utama pertama memiliki nilai terbesar, yaitu 3592,36 dan 2477,41. sehingga sebagian besar variasi data telah dijelaskan oleh dua komponen tersebut. Hal ini menandakan bahwa informasi dalam dataset dapat diringkas ke dalam dua dimensi utama. Berdasarkan eigen vector pada komponen pertama, variabel GGT (0,8602) dan CREA (0,3237) memiliki kontribusi paling besar, sehingga dapat disimpulkan bahwa enzim hati dan kadar kreatinin merupakan faktor utama yang membentuk variasi data pada dataset ini.