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
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
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
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.