1. Import dan Pembersihan Data

Data mentah diambil dari file hcvdata.csv. Langkah awal yang dilakukan adalah menyeleksi variabel numerik saja (umur dan hasil lab), serta membuang baris yang mengandung nilai kosong (NA). Variabel kategorikal seperti ID, kategori pasien, dan jenis kelamin tidak disertakan agar perhitungan matriks tidak error.

df_raw <- read.csv("hcvdata.csv")
df_siap <- na.omit(df_raw[, c(3, 5:14)])
head(df_siap)
##   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

2. Matriks Korelasi

Perhitungan matriks korelasi ini bertujuan untuk melihat keeratan hubungan linear antar variabel dengan skala standar -1 sampai 1.

cor_mat <- cor(df_siap)
print(round(cor_mat, 2))
##        Age   ALB   ALP   ALT   AST   BIL   CHE  CHOL  CREA   GGT  PROT
## Age   1.00 -0.19  0.18 -0.04  0.07  0.04 -0.08  0.12 -0.03  0.14 -0.16
## ALB  -0.19  1.00 -0.15  0.04 -0.18 -0.17  0.36  0.21  0.00 -0.15  0.57
## ALP   0.18 -0.15  1.00  0.22  0.07  0.06  0.03  0.13  0.15  0.46 -0.06
## ALT  -0.04  0.04  0.22  1.00  0.20 -0.11  0.22  0.15 -0.04  0.22  0.02
## AST   0.07 -0.18  0.07  0.20  1.00  0.31 -0.20 -0.20 -0.02  0.48  0.02
## BIL   0.04 -0.17  0.06 -0.11  0.31  1.00 -0.32 -0.18  0.02  0.21 -0.05
## CHE  -0.08  0.36  0.03  0.22 -0.20 -0.32  1.00  0.43 -0.01 -0.10  0.31
## CHOL  0.12  0.21  0.13  0.15 -0.20 -0.18  0.43  1.00 -0.05  0.01  0.25
## CREA -0.03  0.00  0.15 -0.04 -0.02  0.02 -0.01 -0.05  1.00  0.13 -0.03
## GGT   0.14 -0.15  0.46  0.22  0.48  0.21 -0.10  0.01  0.13  1.00 -0.04
## PROT -0.16  0.57 -0.06  0.02  0.02 -0.05  0.31  0.25 -0.03 -0.04  1.00

Interpretasi: Berdasarkan matriks korelasi di atas, terdapat beberapa poin penting:

3. Matriks Kovarians

Matriks kovarians digunakan untuk melihat varians masing-masing variabel pada diagonal utama serta arah hubungan antar variabel dalam satuan aslinya.

cov_mat <- cov(df_siap)
print(round(cov_mat, 2))
##         Age    ALB    ALP    ALT     AST    BIL    CHE  CHOL    CREA     GGT
## Age   98.63 -10.93  45.75  -8.41   23.74   6.86  -1.65  1.40  -12.66   77.32
## ALB  -10.93  33.20 -21.82   4.75  -33.63 -17.01   4.56  1.37    0.42  -46.18
## ALP   45.75 -21.82 671.90 119.84   57.10  26.34   1.67  3.68  202.25  649.32
## ALT   -8.41   4.75 119.84 435.27  136.22 -38.78  10.26  3.53  -38.19  248.91
## AST   23.74 -33.63  57.10 136.22 1080.23 177.11 -14.21 -7.47  -29.91  852.71
## BIL    6.86 -17.01  26.34 -38.78  177.11 302.99 -12.23 -3.57   17.57  199.03
## CHE   -1.65   4.56   1.67  10.26  -14.21 -12.23   4.80  1.06   -1.35  -11.39
## CHOL   1.40   1.37   3.68   3.53   -7.47  -3.57   1.06  1.27   -2.95    0.54
## CREA -12.66   0.42 202.25 -38.19  -29.91  17.57  -1.35 -2.95 2570.18  345.09
## GGT   77.32 -46.18 649.32 248.91  852.71 199.03 -11.39  0.54  345.09 2948.75
## PROT  -8.49  17.59  -8.75   1.87    3.06  -4.90   3.59  1.48   -8.17  -10.78
##        PROT
## Age   -8.49
## ALB   17.59
## ALP   -8.75
## ALT    1.87
## AST    3.06
## BIL   -4.90
## CHE    3.59
## CHOL   1.48
## CREA  -8.17
## GGT  -10.78
## PROT  28.61

Interpretasi: Output menunjukkan adanya ketimpangan skala data yang sangat mencolok:

4. Eigen Value dan Eigen Vector

Analisis eigen dilakukan untuk menentukan komponen utama yang mewakili keragaman data secara keseluruhan.

hasil_eigen <- eigen(cov_mat)
# Menampilkan Nilai Eigen
print("Nilai Eigen:")
## [1] "Nilai Eigen:"
print(round(hasil_eigen$values, 4))
##  [1] 3592.3629 2477.4069  843.8984  489.7454  382.8105  232.9587   95.1114
##  [8]   44.7180   12.3734    3.5687    0.8894

Interpretasi Nilai Eigen: * Dominasi Komponen 1 (PC1): Nilai eigen pertama sebesar 3592.36 sangat mendominasi dibandingkan nilai eigen lainnya. Hal ini berarti PC1 sudah merangkum mayoritas informasi keragaman dari seluruh dataset. * Penurunan nilai eigen yang sangat drastis setelah nilai ketiga menunjukkan bahwa komponen selanjutnya hanya memberikan kontribusi informasi yang kecil.

# Menampilkan Vektor Eigen
print("Vektor Eigen:")
## [1] "Vektor Eigen:"
print(round(hasil_eigen$vectors, 2))
##        [,1]  [,2]  [,3]  [,4]  [,5]  [,6]  [,7]  [,8]  [,9] [,10] [,11]
##  [1,]  0.02 -0.02  0.03  0.01 -0.09 -0.07  0.97 -0.22  0.00 -0.01  0.02
##  [2,] -0.02  0.01  0.01 -0.01  0.06 -0.01 -0.16 -0.71  0.68 -0.08  0.00
##  [3,]  0.22  0.00  0.45  0.60 -0.59 -0.15 -0.09 -0.02  0.02 -0.01  0.00
##  [4,]  0.08 -0.06  0.02  0.67  0.61  0.40  0.08  0.01 -0.01 -0.02  0.00
##  [5,]  0.30 -0.20 -0.84  0.28 -0.17 -0.25 -0.03 -0.01  0.02  0.01 -0.01
##  [6,]  0.07 -0.03 -0.17 -0.12 -0.44  0.87  0.01 -0.05  0.01  0.03  0.00
##  [7,]  0.00  0.00  0.01  0.02  0.03 -0.01 -0.02 -0.11 -0.01  0.97  0.22
##  [8,]  0.00  0.00  0.01  0.01  0.01  0.00  0.01 -0.05 -0.03  0.21 -0.98
##  [9,]  0.32  0.94 -0.11  0.01  0.04  0.01  0.01  0.00  0.00  0.00  0.00
## [10,]  0.86 -0.27  0.23 -0.32  0.18  0.01 -0.01  0.00  0.00  0.00  0.00
## [11,]  0.00  0.00 -0.01  0.00  0.02 -0.01 -0.15 -0.66 -0.73 -0.10  0.03

Interpretasi Vektor Eigen: Pada vektor eigen kolom pertama (PC1), variabel yang memberikan bobot terbesar adalah GGT dan AST. Hal ini membuktikan bahwa penggunaan matriks kovarians pada data yang belum distandarisasi menyebabkan hasil analisis sangat didominasi oleh variabel yang memiliki rentang angka nominal besar.

Kesimpulan Akhir

Analisis ini menunjukkan bahwa dataset HCV memiliki sebaran data yang sangat bervariasi antar variabel. Meskipun ditemukan korelasi biologis yang logis antara albumin dan protein, hasil analisis eigen (komponen utama) sangat dipengaruhi oleh variabel dengan skala angka besar seperti GGT. Untuk analisis yang lebih objektif, disarankan untuk melakukan standarisasi data agar variabel dengan angka kecil tidak tertutup perannya oleh variabel berangka besar.