Call Library
dplyr : Data Manipulation
tidyr : Data Manipulation
readr : Data Input
stringr : String Manipulation
forcats : Factor Manipulation
modelr : Factor Manipulation
ggplot2 : Data Visualization
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
library(tidyr)
library(readr)
library(stringr)
library(forcats)
library(modelr)
library(ggplot2)
train = read.csv('train.csv')
head(train)
## 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
summary(train)
## PassengerId Survived Pclass Name
## Min. : 1.0 Min. :0.0000 Min. :1.000 Length:891
## 1st Qu.:223.5 1st Qu.:0.0000 1st Qu.:2.000 Class :character
## Median :446.0 Median :0.0000 Median :3.000 Mode :character
## Mean :446.0 Mean :0.3838 Mean :2.309
## 3rd Qu.:668.5 3rd Qu.:1.0000 3rd Qu.:3.000
## Max. :891.0 Max. :1.0000 Max. :3.000
##
## Sex Age SibSp Parch
## Length:891 Min. : 0.42 Min. :0.000 Min. :0.0000
## Class :character 1st Qu.:20.12 1st Qu.:0.000 1st Qu.:0.0000
## Mode :character Median :28.00 Median :0.000 Median :0.0000
## Mean :29.70 Mean :0.523 Mean :0.3816
## 3rd Qu.:38.00 3rd Qu.:1.000 3rd Qu.:0.0000
## Max. :80.00 Max. :8.000 Max. :6.0000
## NA's :177
## Ticket Fare Cabin Embarked
## Length:891 Min. : 0.00 Length:891 Length:891
## Class :character 1st Qu.: 7.91 Class :character Class :character
## Mode :character Median : 14.45 Mode :character Mode :character
## Mean : 32.20
## 3rd Qu.: 31.00
## Max. :512.33
##
train <- train %>% mutate(
Survived = factor(Survived),
Pclass = factor(Pclass),
Embarked = factor(Embarked),
Sex = factor(Sex))
pclass_counts <- train %>%
group_by(Pclass) %>%
summarise(count = n()) %>%
mutate(percentage = count / sum(count) * 100,
label = paste0(Pclass, " (", round(percentage, 1), "%)"))
custom_colors <- c("1" = "#00ADB5", "2" = "#393E46", "3" = "#222831")
p_pie_pclass <- ggplot(pclass_counts, aes(x = "", y = percentage, fill = as.factor(Pclass))) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y") +
theme_void() +
theme(legend.position = "right") +
labs(fill = "Pclass",
x=NULL,
y=NULL,
title = "Pie Chart of Pclass ") +
theme(axis.line = element_blank(),
plot.title = element_text(hjust = 0.5, size = 22))+
geom_text(aes(label = label), position = position_stack(vjust = 0.5), col = "white") +
scale_fill_manual(values = custom_colors)
p_pie_pclass
p_age = ggplot(train) +
geom_freqpoly(mapping = aes(x = Age, color = Survived), binwidth = 1) +
theme(legend.position = "right") + theme_minimal()
p_sex = ggplot(train, mapping = aes(x = Sex, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'Sex') +
scale_fill_manual(values = custom_colors) + theme_minimal()
p_class = ggplot(train, mapping = aes(x = Pclass, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'Pclass') +
theme(legend.position = "none") +scale_fill_manual(values = custom_colors) + theme_minimal()
p_emb = ggplot(train, aes(Embarked, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'Embarked') +
theme(legend.position = "none") + scale_fill_manual(values = custom_colors) + theme_minimal()
p_sib = ggplot(train, aes(SibSp, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'SibSp') +
theme(legend.position = "none") +scale_fill_manual(values = custom_colors) + theme_minimal()
p_par = ggplot(train, aes(Parch, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'Parch') +
theme(legend.position = "none") +scale_fill_manual(values = custom_colors) + theme_minimal()
p_fare = ggplot(train) +
geom_freqpoly(mapping = aes(Fare, color = Survived), binwidth = 0.05) +
scale_x_log10() +
theme(legend.position = "none") + theme_minimal()
p_age
Fig. 2
p_sex
Fig. 2
p_fare
Fig. 2
p_class
Fig. 2
p_emb
Fig. 2
p_sib
Fig. 2
p_par
Fig. 2