NIM : 24031554175
Kelas : 2024D
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.0 ✔ readr 2.1.6
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.2 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library tidyverse digunakan untuk memudahkan proses read datanya, juga dapat memilih variabel dan membersihkan data
data <- read.csv("C:/Users/Faiz/Documents/TUGAS TUGAS/SEMESTER 4/ANMUL/Titanic-Dataset.csv")
head(data)
## 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
data2 <- data[, c("Age","SibSp","Parch","Fare")]
colSums(is.na(data2))
## Age SibSp Parch Fare
## 177 0 0 0
pada bagian ini saya memilih 4 variabel yaitu Age, SibSp, Parch, Fare dan meilhat missing value pada variabel tersebut
data2 <- drop_na(data2)
colSums(is.na(data2))
## Age SibSp Parch Fare
## 0 0 0 0
Kemudian kita menggunakan drop_na untuk menghapus missing value tersebut
cor_mat <- cor(data2)
cor_mat
## 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
Tabel diatas menunjukkan korelasi pada SibSp dan Parch menghasilkan korelasi yang positif sebesar 0,38, menunjukkan penumpang yang membawa saudara sering kali membawa orang tua atau anak
Berbeda dengan korelasi pada Age dan SibSp menghasilkan korelasi yang negatif sebesar -0,30, yang berarti semakin bertambah usia penumpang, cenderung semakin sedikit jumlah saudara yang ikut.
cov_max <- cov(data2)
cov_max
## 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 variance–covariance matrix menunjukkan bahwa Fare dan Age memiliki variasi data paling besar, sedangkan SibSp dan Parch variasinya relatif kecil. Nilai kovarians negatif antara Age dengan SibSp dan Parch berarti penumpang yang lebih tua cenderung bepergian dengan lebih sedikit anggota keluarga. Sementara itu, kovarians positif antara SibSp dan Parch menunjukkan bahwa jumlah saudara/pasangan dan orang tua/anak cenderung meningkat bersama. Kovarians positif Fare dengan variabel lain menandakan harga tiket cenderung lebih tinggi ketika usia atau jumlah keluarga bertambah, meskipun hubungannya tidak kuat.
eig <- eigen(cor_mat)
eig$values
## [1] 1.6367503 1.1071770 0.6694052 0.5866676
Hasil eigen value menunjukkan besarnya variasi data yang dijelaskan oleh masing-masing komponen utama. Nilai eigen terbesar (1,64) merepresentasikan komponen utama pertama (PC1) yang menjelaskan variasi paling besar dalam data, diikuti oleh PC2 (1,11), sedangkan PC3 dan PC4 menjelaskan variasi yang lebih kecil. Karena eigen value > 1 biasanya dianggap signifikan, maka dua komponen utama pertama sudah cukup mewakili sebagian besar informasi data.
eig$vectors
## [,1] [,2] [,3] [,4]
## [1,] 0.4388714 -0.5962415 0.56095237 0.37043268
## [2,] -0.6250770 0.0732461 0.05500006 0.77517016
## [3,] -0.5908590 -0.1774532 0.60558695 -0.50265342
## [4,] -0.2599159 -0.7795136 -0.56175785 -0.09607493
Eigen vector menunjukkan bobot kontribusi masing-masing variabel (Age, SibSp, Parch, Fare) pada setiap komponen utama. Nilai dengan magnitudo terbesar menandakan variabel yang paling berpengaruh dalam komponen tersebut. Artinya, variasi data terutama dibentuk oleh kombinasi beberapa variabel utama pada PC1 dan PC2, sementara PC3 dan PC4 memberikan kontribusi yang relatif lebih kecil.