library(tidyverse)
library(datasets)
data(Titanic)
Titanic <- tibble::as.tibble(Titanic)
class(Titanic)
## [1] "tbl_df"     "tbl"        "data.frame"
view(Titanic)
head(Titanic)
## # A tibble: 6 × 5
##   Class Sex    Age   Survived     n
##   <chr> <chr>  <chr> <chr>    <dbl>
## 1 1st   Male   Child No           0
## 2 2nd   Male   Child No           0
## 3 3rd   Male   Child No          35
## 4 Crew  Male   Child No           0
## 5 1st   Female Child No           0
## 6 2nd   Female Child No           0
glimpse(Titanic)
## Rows: 32
## Columns: 5
## $ Class    <chr> "1st", "2nd", "3rd", "Crew", "1st", "2nd", "3rd", "Crew", "1s…
## $ Sex      <chr> "Male", "Male", "Male", "Male", "Female", "Female", "Female",…
## $ Age      <chr> "Child", "Child", "Child", "Child", "Child", "Child", "Child"…
## $ Survived <chr> "No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "…
## $ n        <dbl> 0, 0, 35, 0, 0, 0, 17, 0, 118, 154, 387, 670, 4, 13, 89, 3, 5…
#SUMMARIZE
## Fungsi summarize untuk menampilkan rata-rata penumpang yang survived berdasarkan jenis kelamin
rataan_penumpang <- Titanic %>% group_by(Sex) %>% summarize(ratarata_penumpang = mean(n))
rataan_penumpang
## # A tibble: 2 × 2
##   Sex    ratarata_penumpang
##   <chr>               <dbl>
## 1 Female               29.4
## 2 Male                108.
#ARRANGE
## Fungsi arrange untuk mengurutkan penumpang yang survived dari terbanyak hingga paling sedikit
Titanic %>% arrange(desc(n))
## # A tibble: 32 × 5
##    Class Sex    Age   Survived     n
##    <chr> <chr>  <chr> <chr>    <dbl>
##  1 Crew  Male   Adult No         670
##  2 3rd   Male   Adult No         387
##  3 Crew  Male   Adult Yes        192
##  4 2nd   Male   Adult No         154
##  5 1st   Female Adult Yes        140
##  6 1st   Male   Adult No         118
##  7 3rd   Female Adult No          89
##  8 2nd   Female Adult Yes         80
##  9 3rd   Female Adult Yes         76
## 10 3rd   Male   Adult Yes         75
## # ℹ 22 more rows
#FILTER
## Fungsi filter untuk menampilkan data penumpang per class yang survived berdasarkan jenis kelamin perempuan
Titanic %>% filter(Sex=="Female", Survived=="Yes") 
## # A tibble: 8 × 5
##   Class Sex    Age   Survived     n
##   <chr> <chr>  <chr> <chr>    <dbl>
## 1 1st   Female Child Yes          1
## 2 2nd   Female Child Yes         13
## 3 3rd   Female Child Yes         14
## 4 Crew  Female Child Yes          0
## 5 1st   Female Adult Yes        140
## 6 2nd   Female Adult Yes         80
## 7 3rd   Female Adult Yes         76
## 8 Crew  Female Adult Yes         20
#SELECT
## Fungsi select untuk menampilkan tabel tanpa data Age dan Sex 
Titanic %>% select(-Sex,-Age)
## # A tibble: 32 × 3
##    Class Survived     n
##    <chr> <chr>    <dbl>
##  1 1st   No           0
##  2 2nd   No           0
##  3 3rd   No          35
##  4 Crew  No           0
##  5 1st   No           0
##  6 2nd   No           0
##  7 3rd   No          17
##  8 Crew  No           0
##  9 1st   No         118
## 10 2nd   No         154
## # ℹ 22 more rows
#MUTATE
## Fungsi mutate untuk menampilkan beberapa baris pertama dari dataset yang telah dimutasi dengan nembahkan kolom n ke dataset, dan membuat summarize jumlah penumpang yang selamat berdasarkan kelas dan status selamat atau tidak. 
Titanic_mutated <- Titanic %>%
  mutate(n = 1)

head(Titanic_mutated[, c("Class", "Sex", "Age", "Survived", "n")])
## # A tibble: 6 × 5
##   Class Sex    Age   Survived     n
##   <chr> <chr>  <chr> <chr>    <dbl>
## 1 1st   Male   Child No           1
## 2 2nd   Male   Child No           1
## 3 3rd   Male   Child No           1
## 4 Crew  Male   Child No           1
## 5 1st   Female Child No           1
## 6 2nd   Female Child No           1
df_summary <- Titanic_mutated %>%
  group_by(Class, Survived) %>%
  summarise(jumlah_selamat = sum(n))

print(df_summary)
## # A tibble: 8 × 3
## # Groups:   Class [4]
##   Class Survived jumlah_selamat
##   <chr> <chr>             <dbl>
## 1 1st   No                    4
## 2 1st   Yes                   4
## 3 2nd   No                    4
## 4 2nd   Yes                   4
## 5 3rd   No                    4
## 6 3rd   Yes                   4
## 7 Crew  No                    4
## 8 Crew  Yes                   4
# Fungsi ketika digunakan bersama-sama
## Menampilkan rata-rata jumlah penumpang yang selamat berdasarkan jenis kelamin, dengan menghapus kolom "Age" dan mengurutkan hasilnya secara descending berdasarkan rata-rata penumpang. Kolom "n" kemudian ditambahkan dengan nilai 1 pada setiap baris
Titanic %>% select(-Age) %>% group_by(Sex) %>% filter(Survived=="Yes") %>% summarize(ratarata_penumpang = mean(n)) %>% arrange(desc(ratarata_penumpang)) %>%mutate(n = 1)
## # A tibble: 2 × 3
##   Sex    ratarata_penumpang     n
##   <chr>               <dbl> <dbl>
## 1 Male                 45.9     1
## 2 Female               43       1

R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.