1 Input Library

# library untuk analisis korespondensi
library(FactoMineR)
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(readxl)
library(ca)
library(gplots)
## 
## ---------------------
## gplots 3.3.0 loaded:
##   * Use citation('gplots') for citation info.
##   * Homepage: https://talgalili.github.io/gplots/
##   * Report issues: https://github.com/talgalili/gplots/issues
##   * Ask questions: https://stackoverflow.com/questions/tagged/gplots
##   * Suppress this message with: suppressPackageStartupMessages(library(gplots))
## ---------------------
## 
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
## 
##     lowess

2 Import Data

# Gunakan dataset hair_eye yang sudah tersedia di R
data("HairEyeColor")
# Mengubah data menjadi data frame
hair_eye_df <- as.data.frame(HairEyeColor)
hair_eye_df

3 Melihat Struktur Data

str(hair_eye_df)
## 'data.frame':    32 obs. of  4 variables:
##  $ Hair: Factor w/ 4 levels "Black","Brown",..: 1 2 3 4 1 2 3 4 1 2 ...
##  $ Eye : Factor w/ 4 levels "Brown","Blue",..: 1 1 1 1 2 2 2 2 3 3 ...
##  $ Sex : Factor w/ 2 levels "Male","Female": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Freq: num  32 53 10 3 11 50 10 30 10 25 ...

4 Membuat Tabel kontingensi

contingency_table <- xtabs(Freq ~ Hair + Eye, data = hair_eye_df)
contingency_table
##        Eye
## Hair    Brown Blue Hazel Green
##   Black    68   20    15     5
##   Brown   119   84    54    29
##   Red      26   17    14    14
##   Blond     7   94    10    16

4.1 Visualisasi Tabel Kontingensi

balloonplot(contingency_table, main="Tabel Kontingensi Warna Rambut x Warna Mata", xlab="Eye Color", ylab="Hair Color")

4.2 Uji Chi-Square

chi_square_test <- chisq.test(contingency_table)
chi_square_test
## 
##  Pearson's Chi-squared test
## 
## data:  contingency_table
## X-squared = 138.29, df = 9, p-value < 2.2e-16

Interpretasi : Karena p-value sangat kecil (< 2.2e-16), kita menolak hipotesis nol yang menyatakan bahwa tidak ada asosiasi antara variabel dalam tabel kontingensi. Dengan demikian, dapat disimpulkan bahwa ada hubungan yang signifikan antara variabel yang diuji (misalnya, antara jenis kelamin dan tingkat literasi, atau kategori lainnya dalam data yang diuji).

4.3 Membentuk model Analisis Korespondensi

ca_model <- ca(contingency_table, garph=F)
ca_model
## 
##  Principal inertias (eigenvalues):
##            1        2        3       
## Value      0.208773 0.022227 0.002598
## Percentage 89.37%   9.52%    1.11%   
## 
## 
##  Rows:
##             Black     Brown       Red    Blond
## Mass     0.182432  0.483108  0.119932 0.214527
## ChiDist  0.551192  0.159461  0.354770 0.838397
## Inertia  0.055425  0.012284  0.015095 0.150793
## Dim. 1  -1.104277 -0.324463 -0.283473 1.828229
## Dim. 2   1.440917 -0.219111 -2.144015 0.466706
## 
## 
##  Columns:
##             Brown     Blue     Hazel     Green
## Mass     0.371622 0.363176  0.157095  0.108108
## ChiDist  0.500487 0.553684  0.288654  0.385727
## Inertia  0.093086 0.111337  0.013089  0.016085
## Dim. 1  -1.077128 1.198061 -0.465286  0.354011
## Dim. 2   0.592420 0.556419 -1.122783 -2.274122

4.4 Akar/vektor ciri

eigenvalues <- get_eigenvalue(ca_model)
eigenvalues

4.4.1 Persentase keragaman

fviz_screeplot(ca_model, addlabels = TRUE)
## Warning in geom_bar(stat = "identity", fill = barfill, color = barcolor, :
## Ignoring empty aesthetic: `width`.

Interpretasi : Berdasarkan scree plot ini, dimensi pertama dan kedua sudah cukup untuk menggambarkan sebagian besar variansi data. Dimensi ketiga tidak memberikan kontribusi yang signifikan, yang menunjukkan bahwa dua dimensi pertama sudah cukup untuk representasi data dalam analisis PCA. Ini juga menyarankan bahwa reduksi dimensi lebih lanjut (misalnya, hanya menggunakan dua dimensi pertama) dapat dilakukan tanpa kehilangan banyak informasi. Dapat diketahui pula bahwa dengan mereduksi menjadi dua dimensi saja, kita sudah dapat menjelaskan sekitar 98.5% dari total variansi data, yang menunjukkan bahwa sebagian besar informasi dalam data asli tetap terjaga meskipun dimensi dikurangi.

4.5 Analisis dan Visualisasi Baris

row <- get_ca_row(ca_model)
row
## Correspondence Analysis - Results for rows
##  ===================================================
##   Name       Description                
## 1 "$coord"   "Coordinates for the rows" 
## 2 "$cos2"    "Cos2 for the rows"        
## 3 "$contrib" "contributions of the rows"
## 4 "$inertia" "Inertia of the rows"

4.5.1 Koordinat Profil Baris

row$coord
##            Dim.1       Dim.2       Dim.3
## Black -0.5045624  0.21482046 -0.05550909
## Brown -0.1482527 -0.03266635  0.04880414
## Red   -0.1295233 -0.31964240 -0.08315117
## Blond  0.8353478  0.06957934 -0.01621471

4.5.2 Kontribusi keragaman profil baris

row$contrib
##            Dim.1     Dim.2     Dim.3
## Black 22.2463241 37.877386 21.633047
## Brown  5.0859953  2.319381 44.283813
## Red    0.9637371 55.130519 31.912501
## Blond 71.7039435  4.672715  2.170639

4.5.3 Visualisasi Profil Baris

fviz_ca_row(ca_model, col.row="steelblue", shape.row = 20)

Interpretasi : Grafik Row points - CA menunjukkan hasil analisis korespondensi pada data warna rambut yang diproyeksikan dalam dua dimensi utama, dengan dimensi pertama (89,4%) menjelaskan sebagian besar variansi. Kategori Black terletak di kuadran kiri atas, menunjukkan hubungan yang kuat dengan dimensi pertama, sementara Blond terletak di kuadran kanan atas, juga terhubung dengan dimensi pertama namun berbeda dari Black. Brown berada di sekitar pusat, menandakan keseimbangan antara dimensi pertama dan kedua, sedangkan Red lebih dipengaruhi oleh dimensi kedua, dengan hubungan yang lebih lemah terhadap dimensi pertama. Secara keseluruhan, analisis ini mengungkapkan bahwa dimensi pertama memiliki peran dominan dalam memisahkan kategori warna rambut, sementara dimensi kedua memberikan kontribusi yang lebih kecil.

4.6 Analisis dan Visualisasi profil kolom

col <- get_ca_col(ca_model)
col
## Correspondence Analysis - Results for columns
##  ===================================================
##   Name       Description                   
## 1 "$coord"   "Coordinates for the columns" 
## 2 "$cos2"    "Cos2 for the columns"        
## 3 "$contrib" "contributions of the columns"
## 4 "$inertia" "Inertia of the columns"

4.6.1 Koordinat Profil Kolom

col$coord
##            Dim.1       Dim.2        Dim.3
## Brown -0.4921577  0.08832151 -0.021611305
## Blue   0.5474139  0.08295428  0.004709408
## Hazel -0.2125969 -0.16739109  0.100518284
## Green  0.1617534 -0.33903957 -0.087597437

4.6.2 Kontribusi keragaman profil kolom

col$contrib
##           Dim.1    Dim.2      Dim.3
## Brown 43.115744 13.04249  6.6795992
## Blue  52.128445 11.24401  0.3099822
## Hazel  3.400961 19.80398 61.0855951
## Green  1.354851 55.90952 31.9248234

4.6.3 Visualisasi Profil Kolom

fviz_ca_col(ca_model, col.col="darkgreen", shape.col = 20)

Interpretasi : Grafik Column points - CA menunjukkan hasil analisis korespondensi pada data warna mata, dengan Dimensi 1 (89,4%) menjelaskan sebagian besar variansi data. Kategori Blue terletak di kuadran kanan atas, menunjukkan hubungan yang kuat dengan dimensi pertama, sementara Brown berada sedikit lebih rendah, menandakan kontribusi seimbang antara dimensi pertama dan kedua. Green terletak di kuadran kanan bawah, lebih dipengaruhi oleh dimensi kedua, sementara Hazel juga lebih dipengaruhi oleh dimensi kedua meskipun tidak sekuat Green. Secara keseluruhan, dimensi pertama berperan dominan dalam memisahkan kategori warna mata, dengan dimensi kedua memberikan kontribusi yang lebih kecil.

4.7 Pembentukan Plot Korespondensi Gabungan

fviz_ca_biplot(ca_model, repel = TRUE)

Interpretasi : Grafik CA - Biplot di atas menunjukkan hasil analisis korespondensi (CA) dengan memproyeksikan data warna rambut dan warna mata ke dalam dua dimensi utama. Dimensi pertama (89.4%) menjelaskan sebagian besar variansi dalam data, diikuti oleh dimensi kedua (9.5%). Titik biru mewakili warna rambut, sementara titik merah mewakili warna mata.

  • Warna rambut: Black, Brown, dan Blond terletak di kuadran kanan atas, dengan Blond berada di posisi paling kanan, menunjukkan hubungan kuat dengan dimensi pertama. Black dan Brown lebih terdistribusi sedikit ke kiri dan bawah, namun tetap dipengaruhi dominan oleh dimensi pertama.

  • Warna mata: Blue, Brown, Hazel, Red, dan Green tersebar di kuadran kiri dan bawah. Blue terletak lebih ke kanan, sedangkan Hazel, Red, dan Green lebih terpengaruh oleh dimensi kedua, dengan Green berada di posisi paling bawah.

Secara keseluruhan, biplot ini menggambarkan hubungan antara warna rambut dan mata, di mana dimensi pertama mendominasi distribusi warna rambut, sementara dimensi kedua lebih mempengaruhi warna mata, dengan beberapa kategori (seperti Green dan Red) lebih dipengaruhi oleh dimensi kedua.

4.8 Kesimpulan Utama

Kesimpulan dari analisis korespondensi (CA) menunjukkan bahwa dimensi pertama (89,4%) sangat dominan dalam menjelaskan variansi data dan memisahkan kategori warna rambut, dengan Blond memiliki hubungan yang lebih kuat dengan dimensi pertama dibandingkan Black dan Brown. Sementara itu, dimensi kedua (9,5%) memberikan kontribusi yang lebih kecil tetapi penting dalam memisahkan warna mata, dengan kategori seperti Green dan Red lebih dipengaruhi oleh dimensi kedua.

Berdasarkan hasil biplot, warna rambut seperti Blond, Black, dan Brown sebagian besar dipisahkan oleh dimensi pertama, sedangkan warna mata seperti Blue, Hazel, Red, dan Green terdistribusi lebih seimbang antara kedua dimensi, dengan Green dan Red lebih terpengaruh oleh dimensi kedua. Hal ini menunjukkan bahwa warna rambut lebih terpengaruh oleh faktor yang dijelaskan oleh dimensi pertama, sedangkan warna mata lebih dipengaruhi oleh kombinasi faktor dari kedua dimensi tersebut.

Secara keseluruhan, analisis ini memberikan wawasan tentang hubungan antara warna rambut dan warna mata berdasarkan dua dimensi utama yang mengungkapkan perbedaan dan pola yang ada dalam data.