Tugas ini bertujuan untuk menganalisis hubungan antar variabel. Dalam tugas ini hanya menggunakan beberapa kolom yang ada pada file Titanic-Dataset.csv yaitu Age, SibSp, Parch, dan Fare. Kemudian menghapus row dengan missing value. Setelah itu menghitung Correlation Matrix, Variance-Covariance Matrix, eigen value dan eigen vector.
df <- read.csv("Titanic-Dataset.csv")
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
df_clean <- df %>%
dplyr::select( Age, SibSp, Parch, Fare) %>%
na.omit()
str(df_clean)
## 'data.frame': 714 obs. of 4 variables:
## $ Age : num 22 38 26 35 35 54 2 27 14 4 ...
## $ SibSp: int 1 1 0 1 0 0 3 0 1 1 ...
## $ Parch: int 0 0 0 0 0 0 1 2 0 1 ...
## $ Fare : num 7.25 71.28 7.92 53.1 8.05 ...
## - attr(*, "na.action")= 'omit' Named int [1:177] 6 18 20 27 29 30 32 33 37 43 ...
## ..- attr(*, "names")= chr [1:177] "6" "18" "20" "27" ...
head(df_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
cor_matrix <- cor(df_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
Matriks korelasi menunjukkan bahwa hubungan antara variabel Age, SibSp, Parch, dan Fare. Korelasi tertinggi adalah antara variabel SibSp dan Parch, menunjukkan bahwa penumpang yang memiliki saudara banyak maka jumlah anggota akan semakin banyak juga. Sedangkan yang menunjukkan korelasi terendah adalah Age dan Fare, sehingga usia tidak berpengaruh terhadap harga tiket.
cov_matrix <- cov(df_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
Matrix varians-kovarians menunjukkan bahwa variabel Fare memiliki varians paling besar dibandingkan variabel lainnya, yang menunjukkan penyebaran harga tiket paling tinggi. kovarians antara variabel Age dengan SibSp dan Parch memiliki varians yang relatif kecil, menunjukkan bahwa penumpang yang lebih tua cenderung berpergian dengan lebih sedikit anggota keluarga.
eigen_result <- eigen(cov_matrix)
eigen_result$values
## [1] 2802.5636587 209.0385659 0.9438783 0.4787214
Hasil eigen value menunjukkan bahwa faktor utama pertama memiliki nilai eigen paling besar, yaitu 2802.5636587, yang artinya faktor ini menunjukkan sebagian besar variasi data. Faktor kedua memiliki eigen value 209.0385659, sedangkan dua faktor lainnya memiliki nilai yang jauh lebih kecil, yaitu dibawah 1, sehingga menunjukkan variasi data relatif kecil.
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 eigen vektor menunjukkan bahwa faktor pertama didominasi oleh variabel Fare, selanjutnya adalah variabel Age, SibSp, dan Parch, yang menunjukkan bahwa variasi terkait usia dan jumlah anggota keluarga.