R Markdown
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
library(ggplot2)
# Import dataset
titanic <- read.csv("C:\\Users\\dafy9\\Downloads\\College\\ITS\\ITS\\Academic\\2\\Data Visualization Exploratory\\titanic2.csv.csv")
# Cek jumlah baris
tally(titanic)
## n
## 1 891
# Sample 10 data pertama kolom 1-9
titanic %>%
select(1:9) %>%
sample_n(size = 10)
## PassengerId Survived Pclass Name Sex
## 1 356 0 3 Vanden Steen, Mr. Leo Peter male
## 2 253 0 1 Stead, Mr. William Thomas male
## 3 223 0 3 Green, Mr. George Henry male
## 4 385 0 3 Plotcharsky, Mr. Vasil male
## 5 648 1 1 Simonius-Blumer, Col. Oberst Alfons male
## 6 826 0 3 Flynn, Mr. John male
## 7 376 1 1 Meyer, Mrs. Edgar Joseph (Leila Saks) female
## 8 851 0 3 Andersson, Master. Sigvard Harald Elias male
## 9 58 0 3 Novel, Mr. Mansouer male
## 10 466 0 3 Goncalves, Mr. Manuel Estanslas male
## Age SibSp Parch Ticket
## 1 28.0 0 0 345783
## 2 62.0 0 0 113514
## 3 51.0 0 0 21440
## 4 NA 0 0 349227
## 5 56.0 0 0 13213
## 6 NA 0 0 368323
## 7 NA 1 0 PC 17604
## 8 4.0 4 2 347082
## 9 28.5 0 0 2697
## 10 38.0 0 0 SOTON/O.Q. 3101306
# Ringkasan data
glimpse(titanic)
## Rows: 891
## Columns: 12
## $ PassengerId <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,…
## $ Survived <int> 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1…
## $ Pclass <int> 3, 1, 3, 1, 3, 3, 1, 3, 3, 2, 3, 1, 3, 3, 3, 2, 3, 2, 3, 3…
## $ Name <chr> "Braund, Mr. Owen Harris", "Cumings, Mrs. John Bradley (Fl…
## $ Sex <chr> "male", "female", "female", "female", "male", "male", "mal…
## $ Age <dbl> 22, 38, 26, 35, 35, NA, 54, 2, 27, 14, 4, 58, 20, 39, 14, …
## $ SibSp <int> 1, 1, 0, 1, 0, 0, 0, 3, 0, 1, 1, 0, 0, 1, 0, 0, 4, 0, 1, 0…
## $ Parch <int> 0, 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", "37…
## $ Fare <dbl> 7.2500, 71.2833, 7.9250, 53.1000, 8.0500, 8.4583, 51.8625,…
## $ Cabin <chr> "", "C85", "", "C123", "", "", "E46", "", "", "", "G6", "C…
## $ Embarked <chr> "S", "C", "S", "S", "S", "Q", "S", "S", "S", "C", "S", "S"…
str(titanic)
## 'data.frame': 891 obs. of 12 variables:
## $ PassengerId: int 1 2 3 4 5 6 7 8 9 10 ...
## $ Survived : int 0 1 1 1 0 0 0 0 1 1 ...
## $ Pclass : int 3 1 3 1 3 3 1 3 3 2 ...
## $ Name : chr "Braund, Mr. Owen Harris" "Cumings, Mrs. John Bradley (Florence Briggs Thayer)" "Heikkinen, Miss. Laina" "Futrelle, Mrs. Jacques Heath (Lily May Peel)" ...
## $ Sex : chr "male" "female" "female" "female" ...
## $ Age : num 22 38 26 35 35 NA 54 2 27 14 ...
## $ SibSp : int 1 1 0 1 0 0 0 3 0 1 ...
## $ Parch : int 0 0 0 0 0 0 0 1 2 0 ...
## $ Ticket : chr "A/5 21171" "PC 17599" "STON/O2. 3101282" "113803" ...
## $ Fare : num 7.25 71.28 7.92 53.1 8.05 ...
## $ Cabin : chr "" "C85" "" "C123" ...
## $ Embarked : chr "S" "C" "S" "S" ...
summary(titanic)
## 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
##
# Visualisasi 1: Perbandingan jenis kelamin
ggplot(titanic, aes(x=Sex)) +
geom_bar(fill='pink') +
labs(title = "Perbandingan Jenis Kelamin di Titanic")

# Visualisasi 2: Proporsi survival berdasarkan kelas
ggplot(titanic, aes(x=factor(Pclass), fill = factor(Survived))) +
geom_bar(position = "fill") +
labs(title = "Proporsi Survival berdasarkan kelas")

# Visualisasi 3: Distribusi umur
ggplot(titanic, aes(x=Age)) +
geom_histogram(bins=20, fill='purple') +
labs(title = "Distribusi Umur Penumpang")
## Warning: Removed 177 rows containing non-finite outside the scale range
## (`stat_bin()`).

# Visualisasi 4: Boxplot umur berdasarkan status selamat
ggplot(titanic, aes(x=factor(Survived), y=Age, fill=factor(Survived))) +
geom_boxplot() +
labs(title="Boxplot Umur berdasarkan Status Selamat")
## Warning: Removed 177 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

# Visualisasi 5: Scatterplot umur vs harga tiket
ggplot(titanic, aes(x=Age, y=Fare)) +
geom_point() +
geom_smooth(method="lm", color='blue') +
labs(title="Pengaruh Umur terhadap Harga Tiket")
## Warning: Removed 177 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 177 rows containing missing values or values outside the scale range
## (`geom_point()`).
