Tahapan awal dalam analisis ini adalah memuat dataset
SIRTUIN6.csv. Kita akan mengambil hanya variabel numerik
untuk analisis korelasi dan eigen.
# Membaca dataset CSV
# Pastikan file SIRTUIN6.csv berada di folder yang sama dengan file Rmd ini
data <- read.csv("SIRTUIN6.csv")
# Tinjauan struktur data
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" ...
Menghitung dasar matematis untuk melihat hubungan antar deskriptor struktur molekul.
# a) Matriks Korelasi (Pearson)
cor_mat <- cor(data_num, method = "pearson")
# b) Matriks Ragam-Peragam (Kovarians)
cov_mat <- cov(data_num)
# c) Dekomposisi Eigen dari Matriks Korelasi
eigen_res <- eigen(cor_mat)
# d) Persiapan PCA untuk visualisasi lanjut
pca_res <- prcomp(data_num, scale. = TRUE)Visualisasi ini memudahkan identifikasi hubungan antar variabel secara cepat melalui gradasi warna.
# Visualisasi Matriks Korelasi
corrplot(cor_mat,
method = "color",
type = "upper",
addCoef.col = "black",
tl.col = "black",
diag = FALSE,
col = colorRampPalette(c("#E46726", "white", "#6D9EC1"))(200),
title = "\nHeatmap Korelasi Deskriptor SIRT6",
mar = c(0,0,1,0))
Interpretasi: Warna biru menunjukkan korelasi positif,
sedangkan merah negatif. Terlihat SC.5 dan
SP.6 memiliki hubungan biru pekat (0.66), yang berarti
kedua variabel ini membawa informasi struktural yang serupa.
Kita visualisasikan diagonal matriks kovarians untuk melihat perbedaan skala.
# Mengekstrak variansi (diagonal cov_mat)
variances <- data.frame(
Variable = names(data_num),
Value = diag(cov_mat)
)
ggplot(variances, aes(x = reorder(Variable, -Value), y = Value, fill = Variable)) +
geom_bar(stat = "identity", show.legend = FALSE) +
geom_text(aes(label = round(Value, 3)), vjust = -0.5) +
theme_minimal() +
labs(title = "Distribusi Variansi Antar Variabel",
x = "Variabel", y = "Variansi") +
scale_fill_brewer(palette = "Set2")
Interpretasi: Variabel SP.6
mendominasi variansi. Tanpa standarisasi (scaling), analisis multivariat
akan sangat bias terhadap variabel ini.
Menunjukkan berapa banyak informasi yang ditangkap oleh setiap dimensi baru.
# Visualisasi Scree Plot menggunakan factoextra
fviz_eig(pca_res,
addlabels = TRUE,
ylim = c(0, 50),
barfill = "#6D9EC1",
barcolor = "#6D9EC1",
linecolor = "#E46726",
title = "Scree Plot: Persentase Variansi per Komponen")
Interpretasi: Dua komponen pertama (Dim1 & Dim2)
menangkap sekitar 60.7% dari total variansi data. Ini
membuktikan bahwa kita bisa mereduksi 6 variabel menjadi hanya 2 dimensi
tanpa kehilangan terlalu banyak informasi.
Memetakan posisi data dan kontribusi variabel dalam satu ruang 2D.
# Visualisasi Biplot
fviz_pca_biplot(pca_res,
repel = TRUE,
col.var = "#E46726", # Warna variabel
col.ind = "#696969", # Warna titik data
label = "var",
title = "Biplot: Ruang Multivariat SIRT6")
Interpretasi: Variabel yang arah panahnya berdekatan
(seperti SC.5 dan SP.6) memiliki korelasi tinggi. Panjang panah
menunjukkan seberapa kuat variabel tersebut berkontribusi terhadap
pembentukan komponen utama (Eigenvector).