Hal pertama yang dilakukan adalah memuat data ke dalam R, dengan memastikan folder yang digunakan file tersebut sama dengan file yang digunakan saat ini. Melalui “Session” dan menyesuaikan “Set Working Directory” sesuai foldernya.
# Import Data
data <- read.csv("Titanic-Dataset.csv")
# Menampilkan 6 baris pertama data
knitr::kable(head(data))
| PassengerId | Survived | Pclass | Name | Sex | Age | SibSp | Parch | Ticket | Fare | Cabin | Embarked |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 3 | Braund, Mr. Owen Harris | male | 22 | 1 | 0 | A/5 21171 | 7.2500 | S | |
| 2 | 1 | 1 | Cumings, Mrs. John Bradley (Florence Briggs Thayer) | female | 38 | 1 | 0 | PC 17599 | 71.2833 | C85 | C |
| 3 | 1 | 3 | Heikkinen, Miss. Laina | female | 26 | 0 | 0 | STON/O2. 3101282 | 7.9250 | S | |
| 4 | 1 | 1 | Futrelle, Mrs. Jacques Heath (Lily May Peel) | female | 35 | 1 | 0 | 113803 | 53.1000 | C123 | S |
| 5 | 0 | 3 | Allen, Mr. William Henry | male | 35 | 0 | 0 | 373450 | 8.0500 | S | |
| 6 | 0 | 3 | Moran, Mr. James | male | NA | 0 | 0 | 330877 | 8.4583 | Q |
Data yang telah di muat akan melalui tahap seleksi kolom, yaitu hanya menggunakan variabel Age, SibSp, Parch dan Fare. Selanjutnya, dilakukan pembersihan data dengan menghapus baris yang terdapat missing value (NA).
# Seleksi Kolom
data_clean <- data[, c("Age", "SibSp", "Parch", "Fare")]
# Hapus Missing Value
data_clean <- na.omit(data_clean)
# Menampilkan 6 baris yang telah bersih
head(data_clean)
## Age SibSp Parch Fare
## 1 22 1 0 7.2500
## 2 38 1 0 71.2833
## 3 26 0 0 7.9250
## 4 35 1 0 53.1000
## 5 35 0 0 8.0500
## 7 54 0 0 51.8625
Selanjutnya akan dilakukan analisis lebih lanjut untuk mengetahui hubungan antar variabel, dengan menggunakan matriks korelasi, koavians dan penentuan nilai eigen
Pada correlation matrix ini terdapat hasil mendekati +1 yaitu berhubungan positif, mendekati 0 yaitu hubungan lemah dan mendekati -1 hubungannya cenderung negatif kuat
# Correlation Matrix
corr_matrix <- cor(data_clean)
corr_matrix
## Age SibSp Parch Fare
## Age 1.00000000 -0.3082468 -0.1891193 0.09606669
## SibSp -0.30824676 1.0000000 0.3838199 0.13832879
## Parch -0.18911926 0.3838199 1.0000000 0.20511888
## Fare 0.09606669 0.1383288 0.2051189 1.00000000
Hasil Output :
Varians untuk mengetahui seberapa lebar data tersebut menyebar dan Kovarians untuk mengetahui apakah dua variabel tersebut berubah bersamaan searah atau berlawanan
# Variance-Covariance Matrix
cov_matrix <- cov(data_clean)
cov_matrix
## Age SibSp Parch Fare
## Age 211.019125 -4.1633339 -2.3441911 73.849030
## SibSp -4.163334 0.8644973 0.3045128 6.806212
## Parch -2.344191 0.3045128 0.7281027 9.262176
## Fare 73.849030 6.8062117 9.2621760 2800.413100
Hasil Output :
Analisis eigen ini dilakukan dengan menggunakan hasil matriks kovarians, dikarenakan matriks tersebut telah merangkum seluruh variabilitas dan hubungan antar variabel.
Eigen Value akan menunjukkan seberapa besar data menyebar ke arah tertentu, Eigen Vector menunjukkan arah dari sumbu tersebut sehingga vektor ini memberi tahu kombinasi variabel yang membentuk komponen utama.
# Eigen
eigen_result <- eigen(cov_matrix)
# Eigen Value
eigen_result$values
## [1] 2802.5636587 209.0385659 0.9438783 0.4787214
Hasil Outputnya :
#Eigen Vector
eigen_result$vectors
## [,1] [,2] [,3] [,4]
## [1,] 0.028477552 0.99929943 -0.024018111 0.0035788596
## [2,] 0.002386349 -0.02093144 -0.773693322 0.6332099362
## [3,] 0.003280818 -0.01253786 -0.633088089 -0.7739712590
## [4,] 0.999586200 -0.02837826 0.004609234 0.0009266652
Hasil Outputnya :
Dari hasil vector value sebelumnya, maka didapatkan hasil berupa 4 kategori pembeda