Materi

pie chart

setwd("D:/Study/VDS")
netflix = read.csv("netflix_titles.csv")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
costomcolor <- c("blue", "pink", "purple")
pie <- 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 = costomcolor) # buat ubah warna yg sesuai yg di list 
pie

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()

## Case Study

library yg biasa dibutuhkan

#wrangle
library(ggplot2)
library(dplyr) # data manipulation
library(tidyr) #data manipulation
library('readr') #data input
library('stringr') # string manipulation 
library('forcats') #factor manipulation
library('modelr') # factor manipulation

penjelasan kolom file train

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.

train <- read.csv("w11train.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
#ver pake library
train <- train %>% mutate(
  Survived = factor(Survived),
  Pclass = factor(Pclass),
  Embarked = factor(Embarked),
  Sex = factor(Sex)
)
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               Sex     
##  Min.   :  1.0   0:549    1:216   Length:891         female:314  
##  1st Qu.:223.5   1:342    2:184   Class :character   male  :577  
##  Median :446.0            3:491   Mode  :character               
##  Mean   :446.0                                                   
##  3rd Qu.:668.5                                                   
##  Max.   :891.0                                                   
##                                                                  
##       Age            SibSp           Parch           Ticket         
##  Min.   : 0.42   Min.   :0.000   Min.   :0.0000   Length:891        
##  1st Qu.:20.12   1st Qu.:0.000   1st Qu.:0.0000   Class :character  
##  Median :28.00   Median :0.000   Median :0.0000   Mode  :character  
##  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                                                        
##       Fare           Cabin           Embarked
##  Min.   :  0.00   Length:891          :  2   
##  1st Qu.:  7.91   Class :character   C:168   
##  Median : 14.45   Mode  :character   Q: 77   
##  Mean   : 32.20                      S:644   
##  3rd Qu.: 31.00                              
##  Max.   :512.33                              
## 

p_age : sumbu x itu umur sumbu y itu countnya guides(fill=FALSE) untk menghilangkan legendnya kalo mau ada tigggal diganti true

custom_colors <- c("#FF8EC8", "#46DBDF")
p_age = ggplot(train) +
  geom_freqpoly(mapping = aes(x = Age, color = Survived), binwidth = 1) +
  scale_color_manual(values = custom_colors) +
  theme(legend.position = "right")

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(legend.position = "right")

p_class = ggplot(train, mapping = aes(x = Pclass, fill = Survived, colour = Survived)) +
  geom_bar(stat='count', position='fill') +
  labs(x = 'Pclass') +
  scale_fill_manual(values = custom_colors) +
  theme(legend.position = "none")

p_emb = ggplot(train, aes(Embarked, fill = Survived)) +
  geom_bar(stat='count', position='fill') +
  labs(x = 'Embarked') +
  scale_fill_manual(values = custom_colors) +
  theme(legend.position = "none")

p_sib = ggplot(train, aes(SibSp, fill = Survived)) +
  geom_bar(stat='count', position='fill') +
  labs(x = 'SibSp') +
  scale_fill_manual(values = custom_colors) +
  theme(legend.position = "none")

p_par = ggplot(train, aes(Parch, fill = Survived)) +
  geom_bar(stat='count', position='fill') +
  labs(x = 'Parch') +
  scale_fill_manual(values = custom_colors) +
  theme(legend.position = "none")

p_fare = ggplot(train) +
  geom_freqpoly(mapping = aes(Fare, color = Survived), binwidth = 0.05) +
  scale_x_log10() +
  scale_color_manual(values = custom_colors) +
  theme(legend.position = "none")

p_age
Fig. 2

Fig. 2

p_sex
Fig. 2

Fig. 2

p_fare
Fig. 2

Fig. 2

p_class
Fig. 2

Fig. 2

p_emb
Fig. 2

Fig. 2

p_sib
Fig. 2

Fig. 2

p_par
Fig. 2

Fig. 2

colorsRainbow <- c("#FF8EC8", "#FFDF51", "#46DBDF", "#FF8F46", "#42BAB7", "#DB0000")
piep <- 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 = colorsRainbow)
piep

# Membuat histogram
hist_p <- ggplot(train, aes(x = Pclass)) +
  geom_bar() +
  labs(title = "Distribusi Penumpang berdasarkan Kelas Tiket", x = "Kelas Tiket", y = "Jumlah Penumpang") 
hist_p

perbandingan banyaknya jenis kelamin yang ada

colorsEarth <- c("#DA4511", "#FFBD00", "#6A953F", "#9A6233", "#D3AE7C", "#307CA1")
piep <- ggplot(train, aes(x = "", fill = factor(Sex))) +
  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 = "Distribusi Penumpang berdasarkan Jenis Kelamin") + 
  coord_polar(theta = "y", start = 0) +
  scale_fill_manual(values = colorsEarth)
piep

# Membuat bar chart
ggplot(train, aes(x = Embarked)) +
  geom_bar() +
  labs(title = "Distribusi Penumpang berdasarkan Pelabuhan Embarkasi", x = "Pelabuhan Embarkasi", y = "Jumlah Penumpang")

# Membuat histogram
ggplot(train, aes(x = Age)) +
  geom_histogram() +
  labs(title = "Distribusi Usia Penumpang", x = "Usia", y = "Jumlah Penumpang") 
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 177 rows containing non-finite outside the scale range
## (`stat_bin()`).