netflix = read.csv('netflix_titles.csv')
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
custom_col = c("red", "green", "blue")
ggplot(netflix, aes(x = "", fill = factor(type))) +
geom_bar(width = 1) +
theme(axis.line = element_blank(),
plot.title = element_text(hjust = 0.5, size = 22)) +
labs(fill = "class",
x = NULL,
y = NULL,
title = "Pie Chart of Netflix Shows") +
coord_polar(theta = "y", start = 0) +
scale_fill_manual(values = custom_col, aesthetics = "fill")
par(c(2,1))
## Warning in par(c(2, 1)): argument 1 does not name a graphical parameter
## NULL
ggplot(netflix, aes(x = "", fill = factor(type))) +
geom_bar()
ggplot(netflix, aes(y = "", fill = factor(type))) +
geom_bar()
# STUDI CASE
Pclass adalah kelas Tiket: tiket kelas pertama (1), kedua (2), dan ketiga (3) digunakan. Kami mengubahnya menjadi sebuah faktor.
Name adalah nama penumpang. Nama-nama tersebut juga mengandung gelar dan beberapa orang mungkin memiliki nama keluarga yang sama; menunjukkan hubungan kekeluargaan. Kita tahu bahwa beberapa judul dapat menunjukkan kelompok umur tertentu. Misalnya Tuan adalah laki-laki sedangkan Tuan adalah laki-laki. Fitur ini adalah string karakter dengan panjang variabel tetapi formatnya serupa.
Sex menjadi indikator apakah penumpangnya perempuan atau laki-laki. Ini adalah faktor lain yang kami buat dari string teks kategorikal.
Age adalah bilangan bulat usia penumpang. Ada nilai NaN di kolom ini.
SibSp adalah fitur bilangan bulat ordinal lainnya yang menggambarkan jumlah saudara kandung atau pasangan yang bepergian dengan setiap penumpang.
Parch adalah fitur bilangan bulat ordinal lainnya yang memberikan jumlah orang tua atau anak yang bepergian dengan setiap penumpang.
Ticket adalah string karakter dengan panjang variabel yang memberikan nomor tiket.
Fare adalah fitur mengambang yang menunjukkan berapa banyak setiap penumpang membayar untuk perjalanan mereka yang berkesan.
Cabin memberikan nomor kabin setiap penumpang. Ini adalah fitur string lainnya.
Embarked menunjukkan pelabuhan embarkasi sebagai faktor kategoris.
library('tidyr') # data manipulation
## Warning: package 'tidyr' was built under R version 4.3.3
library('stringr') # string manipulation
## Warning: package 'stringr' was built under R version 4.3.3
library('forcats') # factor manipulation
## Warning: package 'forcats' was built under R version 4.3.3
library('modelr') # factor manipulation
## Warning: package 'modelr' was built under R version 4.3.3
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
str(train)
## '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(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$Survived = factor(train$Survived)
train$Pclass = factor(train$Pclass)
train$Embarked = factor(train$Embarked)
train$Sex = factor(train$Sex)
str(train)
## 'data.frame': 891 obs. of 12 variables:
## $ PassengerId: int 1 2 3 4 5 6 7 8 9 10 ...
## $ Survived : Factor w/ 2 levels "0","1": 1 2 2 2 1 1 1 1 2 2 ...
## $ Pclass : Factor w/ 3 levels "1","2","3": 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 : Factor w/ 2 levels "female","male": 2 1 1 1 2 2 2 2 1 1 ...
## $ 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 : Factor w/ 4 levels "","C","Q","S": 4 2 4 4 4 3 4 4 4 2 ...
custom_col = c("#F24957", "#F29BEC", "#0528F2")
ggplot(train, aes(x = "", fill = factor(Pclass))) +
geom_bar(width = 1) +
theme(axis.line = element_blank(),
plot.title = element_text(hjust = 0.5, size = 22)) +
labs(fill = "class",
x = NULL,
y = NULL,
title = "Pie Chart of Pclass") +
coord_polar(theta = "y", start = 0) +
scale_fill_manual(values = custom_col, aesthetics = "fill")
p_sex = ggplot(train, mapping = aes(x = Sex, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'Sex') +
scale_fill_discrete(name="Surv")
p_class = ggplot(train, mapping = aes(x = Pclass, fill = Survived, colour = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'Pclass') +
theme(legend.position = "none")
p_emb = ggplot(train, aes(Embarked, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'Embarked') +
theme(legend.position = "none")
p_sib = ggplot(train, aes(SibSp, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'SibSp') +
theme(legend.position = "none")
p_par = ggplot(train, aes(Parch, fill = Survived)) +
geom_bar(stat='count', position='fill') +
labs(x = 'Parch') +
theme(legend.position = "none")
p_sex
p_class
p_emb
p_sib
p_par
p_age = ggplot(train) +
geom_freqpoly(mapping = aes(x = Age, color = Survived), binwidth = 1) +
theme(legend.position = "right")
p_fare = ggplot(train) +
geom_freqpoly(mapping = aes(Fare, color = Survived), binwidth = 0.05) +
scale_x_log10() +
theme(legend.position = "none")
p_age
## Warning: Removed 177 rows containing non-finite outside the scale range
## (`stat_bin()`).
p_fare
## Warning in scale_x_log10(): log-10 transformation introduced infinite values.
## Warning: Removed 15 rows containing non-finite outside the scale range
## (`stat_bin()`).