library(Rmisc)
library(dplyr)
library(ggplot2)
library(tidyr)Data ini merupakan data yang berisi tentang penumpang kapal titanic yang berhasil selamat dan yang tidak. Dalam pembahasan kali ini kita akan menampilkan beberapa plot yang akan ditampilkan agar memudahkan kita untuk membaca data titanic. Dalam data ini saya akan menampilkan 3 macam bentuk plot yaitu box plot untuk melihat outlier dalam variabel age yang memiliki na. dan juga bar chart dan scatter plot.
titanic <- read.csv("data_input/train.csv")
head(titanic)Kita akan melakukan cek na dalam data titanic
colSums(is.na(titanic))## PassengerId Survived Pclass Name Sex Age
## 0 0 0 0 0 177
## SibSp Parch Ticket Fare Cabin Embarked
## 0 0 0 0 0 0
Dapat kita lihat kita memiliki 177 data na pada kolom variabel age, kita akan terlebuh dahulu mengecek apakah variabel Age memilki outlier
titanic %>%
select(Age) %>%
boxplot()Dapat kita lihat variabel age memiliki outlier oleh karena itu kita akan menggunakan metode median untuk mengisi data yang NA
titanic <- titanic %>%
mutate( Age = replace_na(Age, median(Age))) %>%
na.omit()glimpse(titanic)## Rows: 714
## Columns: 12
## $ PassengerId <int> 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,...
## $ Survived <int> 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1...
## $ Pclass <int> 3, 1, 3, 1, 3, 1, 3, 3, 2, 3, 1, 3, 3, 3, 2, 3, 3, 2, 2...
## $ Name <chr> "Braund, Mr. Owen Harris", "Cumings, Mrs. John Bradley ...
## $ Sex <chr> "male", "female", "female", "female", "male", "male", "...
## $ Age <dbl> 22, 38, 26, 35, 35, 54, 2, 27, 14, 4, 58, 20, 39, 14, 5...
## $ SibSp <int> 1, 1, 0, 1, 0, 0, 3, 0, 1, 1, 0, 0, 1, 0, 0, 4, 1, 0, 0...
## $ Parch <int> 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 5, 0, 0, 1, 0, 0, 0...
## $ Ticket <chr> "A/5 21171", "PC 17599", "STON/O2. 3101282", "113803", ...
## $ Fare <dbl> 7.2500, 71.2833, 7.9250, 53.1000, 8.0500, 51.8625, 21.0...
## $ Cabin <chr> "", "C85", "", "C123", "", "E46", "", "", "", "G6", "C1...
## $ Embarked <chr> "S", "C", "S", "S", "S", "S", "S", "S", "C", "S", "S", ...
Merubah tipe data character menjadi factor
titanic<- titanic %>%
mutate(survived = as.factor(Survived)) %>%
mutate(pclass = as.factor(Pclass)) %>%
mutate(sex = as.factor(Sex)) %>%
mutate(sibSp = as.factor(SibSp)) %>%
mutate(sarch = as.factor(Parch)) %>%
mutate(embarked = as.factor(Embarked)) %>%
select(-c(Sex))Aggregasi data berdasrkan sex, survived, dan pclass untuk menunjukan jumlah frequansi data dan agar lebih mudah dalam memampilkan data dalam bar chart
titanicagg <- titanic %>%
filter(survived != 0) %>%
group_by(sex, survived, pclass) %>%
summarise(freq = n()) %>%
arrange(desc(freq))
titanicaggggplot(data = titanicagg, aes(x = sex,
y = freq)) +
geom_col(aes(fill = pclass)) +
theme_minimal()+
labs(y = "survived = yes",
title = "Jumlah orang yang selamat berdasarkan jenis kelamin dan tipe kelas kabin",fill="Ticket class ")Dapat dilihat lebih banyaknya jumlah penumpang wanita yang selematan dan berada di kelas 1, sedangkan penumpang pria yang selamat # Scatter plot Disini saya akan memisahkan variabel age, fare, survived berdasarkan pclass atau kelas dari tiket penumpang.
pclass3 <- titanic %>%
filter(pclass != "1") %>%
filter(pclass != "2") %>%
select(Age, Fare, survived,pclass)pclass2 <- titanic %>%
filter(pclass != "1") %>%
filter(pclass != "3") %>%
select(Age, Fare, survived,pclass)pclass1 <- titanic %>%
filter(pclass != "2") %>%
filter(pclass != "3") %>%
select(Age, Fare, survived,pclass)plot1 <- ggplot(data = pclass1, aes(x = Fare,
y =Age )) +
geom_point(colour="red", shape=21, size = 3,
aes(fill = survived))+
theme_minimal()+
labs(title = "Penumpang Tiket Kelas 1")plot2 <- ggplot(data = pclass2, aes(x = Fare,
y =Age )) +
geom_point(colour="red", shape=21, size = 3,
aes(fill = survived))+
theme_minimal()+
labs(title = "Penumpang Tiket Kelas 2")plot3 <- ggplot(data = pclass3, aes(x = Fare,
y =Age )) +
geom_point(colour="red", shape=21, size = 3,
aes(fill = survived))+
theme_minimal()+
labs(title = "Penumpang Tiket Kelas 3")multiplot(plot1, plot2, plot3)