1. Import Data

Membaca dataset Titanic dan membersihkan data kosong.

df <- read.csv("Titanic-Dataset.csv")
df_clean <- na.omit(df[, c("Survived", "Pclass", "Age", "SibSp", "Parch", "Fare")])
head(df_clean)
##   Survived Pclass Age SibSp Parch    Fare
## 1        0      3  22     1     0  7.2500
## 2        1      1  38     1     0 71.2833
## 3        1      3  26     0     0  7.9250
## 4        1      1  35     1     0 53.1000
## 5        0      3  35     0     0  8.0500
## 7        0      1  54     0     0 51.8625

2. Analisis Matriks (Output Rata)

A. Matriks Korelasi

cor_matrix <- cor(df_clean)
print(cor_matrix)
##             Survived      Pclass         Age       SibSp       Parch
## Survived  1.00000000 -0.35965268 -0.07722109 -0.01735836  0.09331701
## Pclass   -0.35965268  1.00000000 -0.36922602  0.06724737  0.02568307
## Age      -0.07722109 -0.36922602  1.00000000 -0.30824676 -0.18911926
## SibSp    -0.01735836  0.06724737 -0.30824676  1.00000000  0.38381986
## Parch     0.09331701  0.02568307 -0.18911926  0.38381986  1.00000000
## Fare      0.26818862 -0.55418247  0.09606669  0.13832879  0.20511888
##                 Fare
## Survived  0.26818862
## Pclass   -0.55418247
## Age       0.09606669
## SibSp     0.13832879
## Parch     0.20511888
## Fare      1.00000000

B. Matriks Kovariansi

cov_matrix <- cov(df_clean)
print(cov_matrix)
##              Survived       Pclass         Age        SibSp       Parch
## Survived  0.241532798  -0.14816474  -0.5512961 -0.007931925  0.03913318
## Pclass   -0.148164736   0.70266283  -4.4960040  0.052411989  0.01837032
## Age      -0.551296098  -4.49600404 211.0191247 -4.163333883 -2.34419107
## SibSp    -0.007931925   0.05241199  -4.1633339  0.864497272  0.30451283
## Parch     0.039133185   0.01837032  -2.3441911  0.304512829  0.72810274
## Fare      6.974923476 -24.58313838  73.8490298  6.806211745  9.26217600
##                 Fare
## Survived    6.974923
## Pclass    -24.583138
## Age        73.849030
## SibSp       6.806212
## Parch       9.262176
## Fare     2800.413100

3. Analisis Eigen

eigen_results <- eigen(cor_matrix)
print(eigen_results)
## eigen() decomposition
## $values
## [1] 1.8894951 1.6667903 0.9253823 0.6507793 0.5393080 0.3282450
## 
## $vectors
##             [,1]       [,2]        [,3]       [,4]       [,5]        [,6]
## [1,]  0.41611880 -0.1463537  0.74000783  0.2440277 -0.3546051 -0.26929511
## [2,] -0.64205584 -0.1039506  0.07435731  0.1567202  0.1080602 -0.73156771
## [3,]  0.28524237  0.4860048 -0.50963245  0.3299595 -0.4262862 -0.36347994
## [4,] -0.03115666 -0.6026898 -0.28858701 -0.4195575 -0.6060651 -0.09575183
## [5,]  0.08258096 -0.5718169 -0.26853645  0.7370568  0.1563477  0.16247045
## [6,]  0.57048740 -0.2033829 -0.17815690 -0.2962005  0.5376791 -0.47392626

Interpretasi Singkat: Nilai Eigen menunjukkan komponen utama penyusun variansi data. Vektor Eigen menunjukkan arah bobot dari setiap variabel terhadap komponen tersebut.