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
data_num <- titanic[, c("Age", "SibSp", "Parch", "Fare")]
data_num <- na.omit(data_num)
head(data_num)
## 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(data_num)
round(cor_matrix, 3)
## Age SibSp Parch Fare
## Age 1.000 -0.308 -0.189 0.096
## SibSp -0.308 1.000 0.384 0.138
## Parch -0.189 0.384 1.000 0.205
## Fare 0.096 0.138 0.205 1.000
cov_matrix <- cov(data_num)
round(cov_matrix, 3)
## Age SibSp Parch Fare
## Age 211.019 -4.163 -2.344 73.849
## SibSp -4.163 0.864 0.305 6.806
## Parch -2.344 0.305 0.728 9.262
## Fare 73.849 6.806 9.262 2800.413
eigen_result <- eigen(cov_matrix)
round(eigen_result$values, 3)
## [1] 2802.564 209.039 0.944 0.479
round(eigen_result$vectors, 3)
## [,1] [,2] [,3] [,4]
## [1,] 0.028 0.999 -0.024 0.004
## [2,] 0.002 -0.021 -0.774 0.633
## [3,] 0.003 -0.013 -0.633 -0.774
## [4,] 1.000 -0.028 0.005 0.001