Summary ini membahas analisis data Titanic menggunakan R dan RPubs. Variabel yang digunakan adalah Age, SibSp, Parch, dan Fare dengan data yang dibersihkan dari missing value. Analisisnya adalah correlation matrix, variance–covariance matrix, serta eigen value dan eigen vector.
1. AKSES FILE
setwd("C:/Users/X13 Yoga/Downloads/archive (4)")
perintah setwd() digunakan untuk mengatur working directory agar R dapat mengakses file dataset yg digunakan
2. MENGIMPOR DATA
titanic <- read.csv("Titanic-Dataset.csv")
head(titanic)
## PassengerId Survived Pclass
## 1 1 0 3
## 2 2 1 1
## 3 3 1 3
## 4 4 1 1
## 5 5 0 3
## 6 6 0 3
## Name Sex Age SibSp Parch
## 1 Braund, Mr. Owen Harris male 22 1 0
## 2 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0
## 3 Heikkinen, Miss. Laina female 26 0 0
## 4 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0
## 5 Allen, Mr. William Henry male 35 0 0
## 6 Moran, Mr. James male NA 0 0
## Ticket Fare Cabin Embarked
## 1 A/5 21171 7.2500 S
## 2 PC 17599 71.2833 C85 C
## 3 STON/O2. 3101282 7.9250 S
## 4 113803 53.1000 C123 S
## 5 373450 8.0500 S
## 6 330877 8.4583 Q
dataset Titanic diimpor ke dalam R menggunakan fungsi read.csv(). head() digunakan untuk menampilkan beberapa baris awal data
3. SELEKSI KOLOM
data_sel <- titanic[, c("Age", "SibSp", "Parch", "Fare")]
head(data_sel)
## 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
## 6 NA 0 0 8.4583
kita mengambil 4 variabel yaitu Age, SibSp, Parch, dan Fare yang sesuai dengan kebutuhan.
4. CEK MISSING VALUE
colSums(is.na(data_sel))
## Age SibSp Parch Fare
## 177 0 0 0
head(data_sel)
## 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
## 6 NA 0 0 8.4583
fungsi colSums(is.na()) yaitu untuk menghitung missing value pada setiap variabel.
5. HAPUS MISSING VALUE
data_clean <- na.omit(data_sel)
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
Baris yang ada missing value-nya dihapus menggunakan fungsi na.omit().
6. RISET NOMOR BARIS
rownames(data_clean) <- NULL
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
## 6 54 0 0 51.8625
meriset ulang nomor baris agar menjadi rapi
7. CORRELATION MATRIX
cor_matrix <- cor(data_clean)
cor_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
Correlation matrix dihitung untuk melihat hubungan antar variabel numerik. Nilai korelasi berkisar antara -1 hingga 1.
Nilai korelasi antara SibSp dan Parch bersifat positif, artinya penumpang yang membawa saudara biasanya juga membawa anggota keluarga lain. Sementara itu, hubungan Age dengan variabel lain relatif lemah, sehingga usia penumpang tidak terlalu berpengaruh terhadap jumlah keluarga maupun harga tiket. Secara umum, tidak terdapat korelasi yang sangat kuat antar variabel, namun SibSp dan Parch menunjukkan keterkaitan yang relatif lebih bagus.
8. 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
Variance–covariance matrix digunakan untuk melihat bagaimana dua variabel berubah secara bersama dalam dataset.
Variance–covariance matrix menunjukkan dua variabel berubah secara bersamaan. Variabel Fare memiliki variasi paling besar, artinya harga tiket penumpang beragam. Nilai kovariansi positif antara Fare dengan SibSp dan Parch menunjukkan bahwa penumpang yang membawa keluarga cenderung membayar tiket lebih mahal.
9. EIGEN VALUE DAN EIGEN VECTOR
eigen_result <- eigen(cov_matrix)
eigen_result$values
## [1] 2802.5636587 209.0385659 0.9438783 0.4787214
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
Eigen value menunjukkan besar variasi data yang dijelaskan oleh masing-masing komponen utama. Eigen vector menunjukkan kontribusi setiap variabel terhadap komponen tersebut.
Eigen Value Dari hasil eigen value terlihat bahwa nilai eigen pertama paling besar dibandingkan yang lain. Artinya, sebagian besar variasi data dijelaskan oleh satu komponen utama saja. Eigen value berikutnya jauh lebih kecil, akhirnya kontribusinya terhadap variasi data tidak terlalu besar.
Eigen Vector Eigen vector menunjukkan variabel mana yang paling berpengaruh pada tiap komponen. Pada komponen utama pertama, terlihat bahwa variabel Fare memiliki kontribusi paling besar, sehingga harga tiket sangat mempengaruhi variasi data. Age, SibSp, dan Parch memiliki kontribusi yang lebih kecil pada komponen tersebut.