Import Data

Langkah ini memasukkan dataset dari file CSV ke code R. read.csv() untuk membaca file tersebut dan disimpan ke dalam variabel. head(data) digunakan untuk menampilkan beberapa baris pertama agar dapat mengecek apakah data berhasil terimpor, sedangkan str(data) digunakan untuk menunjukkan struktur dataset (berapa variabel, tipe data setiap kolom, dll.).

# Import file CSV
data <- read.csv(
  "C:/Users/ASUS/Downloads/sirtuin6+small+molecules-1/SIRTUIN6.csv"
  )

# Melihat data
head(data)
##       SC.5    SP.6     SHBd minHaaCH maxwHBa      FMF    Class
## 1 0.540936 7.64192 0.162171 0.445270 2.20557 0.467742 High_BFE
## 2 0.815332 6.59011 0.000000 0.497445 2.00314 0.415385 High_BFE
## 3 0.734399 6.85522 0.000000 0.507748 1.88590 0.400000 High_BFE
## 4 0.624557 7.00949 0.450300 0.483648 2.02757 0.500000 High_BFE
## 5 0.460290 4.92643 0.448998 0.482293 2.06438 0.536585 High_BFE
## 6 0.739251 5.30234 0.000000 0.503995 1.84017 0.428571 High_BFE
str(data)
## 'data.frame':    100 obs. of  7 variables:
##  $ SC.5    : num  0.541 0.815 0.734 0.625 0.46 ...
##  $ SP.6    : num  7.64 6.59 6.86 7.01 4.93 ...
##  $ SHBd    : num  0.162 0 0 0.45 0.449 ...
##  $ minHaaCH: num  0.445 0.497 0.508 0.484 0.482 ...
##  $ maxwHBa : num  2.21 2 1.89 2.03 2.06 ...
##  $ FMF     : num  0.468 0.415 0.4 0.5 0.537 ...
##  $ Class   : chr  "High_BFE" "High_BFE" "High_BFE" "High_BFE" ...

Output tersebut menunjukkan bahwa dataset dapat dibaca ke R dalam bentuk data frame dengan 100 baris dan 7 kolom. Dimana terdapat 100 sampel senyawa/molekul yang diamati, masing-masing memiliki 7 atribut pengukuran. Enam variabel pertama (SC.5, SP.6, SHBd, minHaaCH, maxwHBa, FMF) bertipe numeric, yang berarti berisi data kuantitatif kontinu dan dapat langsung digunakan dalam perhitungan statistik seperti korelasi, kovarians, dan PCA. Variabel terakhir, yaitu Class, bertipe character yang menunjukkan data kategorik berupa label kelas, seperti High_BFE.

Correlation Matrix

# Mengambil variabel numerix
data_numeric <- data[, sapply(data, is.numeric)]

# Menghitung correlation matrix
cor_matrix <- cor(data_numeric)
cor_matrix
##                 SC.5        SP.6        SHBd  minHaaCH     maxwHBa       FMF
## SC.5      1.00000000  0.66208234 -0.10165734 0.1101450 -0.08366394 0.1816990
## SP.6      0.66208234  1.00000000 -0.11309294 0.1956995  0.08952777 0.5798669
## SHBd     -0.10165734 -0.11309294  1.00000000 0.2325906  0.04922928 0.0525741
## minHaaCH  0.11014501  0.19569946  0.23259056 1.0000000  0.46076976 0.2582501
## maxwHBa  -0.08366394  0.08952777  0.04922928 0.4607698  1.00000000 0.1898255
## FMF       0.18169903  0.57986685  0.05257410 0.2582501  0.18982546 1.0000000

Matriks korelasi di atas menunjukkan hubungan linear antar enam variabel numerik (SC.5, SP.6, SHBd, minHaaCH, maxwHBa, dan FMF) dengan nilai berkisar antara −1 sampai +1, dimana diagonal bernilai 1, karena setiap variabel berkorelasi dengan dirinya sendiri. Sebagian besar pasangan variabel memiliki korelasi rendah hingga sedang, yang dimana tidak terjadi multikolinearitas yang ekstrem. Hubungan positif terkuat dapat dilihat antara SC.5 dan SP.6 sekitar 0.662 yang menunjukkan keduanya cenderung meningkat bersama dan dapat merepresentasikan sifat struktural molekul yang berkaitan, serta antara SP.6 dan FMF sekitar 0.580 yang juga menunjukkan keterkaitan cukup kuat. Korelasi sedang lainnya terdapat pada minHaaCH dan maxwHBa sekitar 0.461 yang mengindikasikan hubungan terkait karakteristik ikatan hidrogen. Beberapa variabel seperti SHBd menunjukkan korelasi rendah terhadap variabel lain, sekitar 0.05–0.23, sehingga dapat dianggap memberikan informasi yang lebih independen. Korelasi negatif yang muncul, seperti SC.5 dengan SHBd sekitar −0.10 sangat lemah sehingga menunjukkan hampir tidak ada hubungan linear berlawanan arah.

Variance-Covariance Matrix

# variance-covariance matrix
cov_matrix <- cov(data_numeric)
cov_matrix
##                  SC.5        SP.6         SHBd    minHaaCH      maxwHBa
## SC.5      0.038073191  0.18129548 -0.006730516 0.002986591 -0.008537740
## SP.6      0.181295476  1.96938510 -0.053851871 0.038164206  0.065707969
## SHBd     -0.006730516 -0.05385187  0.115133039 0.010967139  0.008736117
## minHaaCH  0.002986591  0.03816421  0.010967139 0.019310901  0.033487306
## maxwHBa  -0.008537740  0.06570797  0.008736117 0.033487306  0.273520544
## FMF       0.002561709  0.05879780  0.001288960 0.002593040  0.007173265
##                  FMF
## SC.5     0.002561709
## SP.6     0.058797800
## SHBd     0.001288960
## minHaaCH 0.002593040
## maxwHBa  0.007173265
## FMF      0.005220775

Matriks varians–covarians tersebut menunjukkan besarnya penyebaran masing-masing variabel pada diagonal dan korelasi bersama antar variabel pada elemen di luar diagonal dalam satuan asli data. Varians terbesar terdapat pada SP.6 sekitar 1.969, menandakan variabel ini memiliki penyebaran nilai paling tinggi dibanding variabel lain, sedangkan varians yang jauh lebih kecil seperti pada SC.5 sekitar 0.038 dan FMF sekitar 0.005 menunjukkan datanya lebih terkonsentrasi di sekitar rata-rata. Nilai kovarians positif, seperti SC.5–SP.6 sekitar 0.181 dan maxwHBa–SC.5 kecil negatif sekitar −0.009 yang menunjukkan arah hubungan perubahan antar variabel, di mana nilai positif berarti cenderung naik bersama dan negatif berarti berlawanan arah, tetapi sebagian besar nilainya kecil sehingga hubungan linear antar variabel relatif lemah.

Eigen Value dan Eigen Vector

# Dari hasil Covariance Matrix
eigen_result <- eigen(cov_matrix)

# Menampilkan Eigen value
eigen_values <- eigen_result$values
eigen_values
## [1] 1.992769556 0.276942728 0.113877882 0.020953542 0.013224463 0.002875384
# Menampilkan Eigen vector
eigen_vectors <- eigen_result$vectors
eigen_vectors
##             [,1]        [,2]         [,3]         [,4]         [,5]
## [1,] -0.09219130  0.06060081 -0.003107518  0.970452736 -0.156055543
## [2,] -0.99396947  0.03294359  0.029422161 -0.090947728 -0.005846681
## [3,]  0.02852534 -0.07545079  0.990744881 -0.004387236 -0.107950230
## [4,] -0.01988516 -0.12606134  0.096256185  0.172774447  0.969390992
## [5,] -0.03789685 -0.98654030 -0.087766817  0.037590405 -0.127206548
## [6,] -0.02966771 -0.01990490  0.024103802 -0.136626137  0.089770986
##              [,6]
## [1,]  0.147264400
## [2,] -0.042048512
## [3,] -0.015670467
## [4,] -0.069842391
## [5,] -0.002121028
## [6,]  0.985604940

Output di atas merupakan hasil dekomposisi eigen dari matriks kovarians yang menghasilkan 6 eigenvalue dan 6 eigenvector. Eigenvalue menunjukkan besar variasi yang dijelaskan oleh masing-masing komponen utama yaitu komponen pertama memiliki nilai paling besar sekitar 1.993, berarti menyimpan informasi atau variasi data paling dominan, komponen kedua sekitar 0.276 dan ketiga 0.114, tiga komponen terakhir memiliki nilai sangat kecil (<0.03) sehingga kontribusinya terhadap variasi total sangat rendah. Hal ini menunjukkan bahwa sebagian besar struktur data dapat direpresentasikan oleh hanya 1-2 komponen. Seperti pada komponen pertama (kolom 1), nilai terbesar secara absolut terdapat pada variabel kedua sekitar−0.994 yang berarti variabel tersebut paling dominan membentuk komponen pertama, sedangkan pada komponen ketiga bobot terbesar terdapat pada variabel ketiga sekitar 0.991 dan keempat sekitar 0.963, komponen ini merepresentasikan kombinasi kuat dari kedua descriptor tersebut.