Praktikum 01 - Tugas Satria June Adwendi

Tugas untuk Praktikum 01 ini adalah :

  1. Cari Datasets selain iris dan Teams.
  2. Anda hanya boleh menggunakan data di package datasets maupun datasets di package R lainnya.
  3. Pada datasets yang Anda pilih, Praktikkan penggunaan fungsi summarise(), arrange(), filter(),mutate(), select() minimal 1 kali secara terpisah.
  4. Praktikan penggunaan fungsi tersebut secara bersama-sama.(jumlahnya bebas)
  5. Kerjakan tugas tersebut menggunakan rmarkdown. Upload file html di newlms dan publish pekerjaan Anda tersebut di Rpubs Anda masing-masing. Harap sertakan link ke Rpubs tersebut di file html yang Anda kumpulkan di newlms.

Import Data

Data yang digunakan adalah Datasets Titanic

library(dplyr) #untuk fungsi %>%
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(stats) #mengaktifkan fungsi-fungsi stat pada data yang bukan (data frame) tabel asli
library(datasets) #untuk data set titanic
data(Titanic)
Titanic<-tibble::as_tibble(datasets::Titanic)

Untuk mengetahui deskripsi data Titanic gunakan:

??Titanic
## starting httpd help server ... done

Diperoleh deskripsi data rivers adalah sebagai berikut: This data set provides information on the fate of passengers on the fatal maiden voyage of the ocean liner ‘Titanic’, summarized according to economic status (class), sex, age and survival.

Penggunaan Fungsi

dim(Titanic) #dimensi atau ukuran data
## [1] 32  5

Data ‘Titanic’ terdiri dari 32 baris dan 5 kolom. Terdiri dari 4 kolom cross-tabulasi dan 1 kolom bernama n yang berisi jumlah penumpang sesuai cross-tabulasi tersebut.

A 4-dimensional array resulting from cross-tabulating 2201 observations on 4 variables. The variables and their levels are as follows:

No Name Levels 1 Class 1st, 2nd, 3rd, Crew 2 Sex Male, Female 3 Age Child, Adult 4 Survived No, Yes

head(Titanic)
## # A tibble: 6 x 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
summary(Titanic) #melihat ringkasan data
##     Class               Sex                Age              Survived        
##  Length:32          Length:32          Length:32          Length:32         
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##        n         
##  Min.   :  0.00  
##  1st Qu.:  0.75  
##  Median : 13.50  
##  Mean   : 68.78  
##  3rd Qu.: 77.00  
##  Max.   :670.00

Fungsi summarise()

Titanic %>% group_by(Class) %>% summarise(sum_n=sum(n), .groups='drop')
## # A tibble: 4 x 2
##   Class sum_n
##   <chr> <dbl>
## 1 1st     325
## 2 2nd     285
## 3 3rd     706
## 4 Crew    885

Menghitung jumlah penumpang untuk setiap Class

Titanic %>% group_by(Class) %>% summarise(sum_n2=sum(n), .groups='drop')
## # A tibble: 4 x 2
##   Class sum_n2
##   <chr>  <dbl>
## 1 1st      325
## 2 2nd      285
## 3 3rd      706
## 4 Crew     885

Menghitung jumlah total penumpang untuk setiap kejadian selamat atau tidak

Titanic %>% group_by(Survived) %>% summarise(sum_n2=sum(n), .groups='drop')
## # A tibble: 2 x 2
##   Survived sum_n2
##   <chr>     <dbl>
## 1 No         1490
## 2 Yes         711

Fungsi arrange()

Mengurutkan data berdasarkan jumlah penumpang dari nilai terkecil

Titanic %>% arrange(n)
## # A tibble: 32 x 5
##    Class Sex    Age   Survived     n
##    <chr> <chr>  <chr> <chr>    <dbl>
##  1 1st   Male   Child No           0
##  2 2nd   Male   Child No           0
##  3 Crew  Male   Child No           0
##  4 1st   Female Child No           0
##  5 2nd   Female Child No           0
##  6 Crew  Female Child No           0
##  7 Crew  Male   Child Yes          0
##  8 Crew  Female Child Yes          0
##  9 1st   Female Child Yes          1
## 10 Crew  Female Adult No           3
## # ... with 22 more rows

Mengurutkan data berdasarkan jumlah penumpang dari nilai terbesar

Titanic %>% arrange(desc(n))
## # A tibble: 32 x 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
## # ... with 22 more rows

Fungsi filter()

Memilih sebagian data dari penumpang yang selamat

Titanic %>% filter(Survived=="Yes")
## # A tibble: 16 x 5
##    Class Sex    Age   Survived     n
##    <chr> <chr>  <chr> <chr>    <dbl>
##  1 1st   Male   Child Yes          5
##  2 2nd   Male   Child Yes         11
##  3 3rd   Male   Child Yes         13
##  4 Crew  Male   Child Yes          0
##  5 1st   Female Child Yes          1
##  6 2nd   Female Child Yes         13
##  7 3rd   Female Child Yes         14
##  8 Crew  Female Child Yes          0
##  9 1st   Male   Adult Yes         57
## 10 2nd   Male   Adult Yes         14
## 11 3rd   Male   Adult Yes         75
## 12 Crew  Male   Adult Yes        192
## 13 1st   Female Adult Yes        140
## 14 2nd   Female Adult Yes         80
## 15 3rd   Female Adult Yes         76
## 16 Crew  Female Adult Yes         20

Fungsi select()

Fungsi select() dapat digunakan untuk memilih subset data berdasarkan peubah tertentu. Contoh dari class, Age dan jumlah penumpang

Titanic %>% select(Class, Age, n)
## # A tibble: 32 x 3
##    Class Age       n
##    <chr> <chr> <dbl>
##  1 1st   Child     0
##  2 2nd   Child     0
##  3 3rd   Child    35
##  4 Crew  Child     0
##  5 1st   Child     0
##  6 2nd   Child     0
##  7 3rd   Child    17
##  8 Crew  Child     0
##  9 1st   Adult   118
## 10 2nd   Adult   154
## # ... with 22 more rows

Fungsi mutate()

Menggunakan fungsi mutate() untuk menambahkan peubah baru pada data. Menambahkan data cost yang berisi nilai 1000 per jumlah penumpang

Titanic %>% mutate(cost=n*97)
## # A tibble: 32 x 6
##    Class Sex    Age   Survived     n  cost
##    <chr> <chr>  <chr> <chr>    <dbl> <dbl>
##  1 1st   Male   Child No           0     0
##  2 2nd   Male   Child No           0     0
##  3 3rd   Male   Child No          35  3395
##  4 Crew  Male   Child No           0     0
##  5 1st   Female Child No           0     0
##  6 2nd   Female Child No           0     0
##  7 3rd   Female Child No          17  1649
##  8 Crew  Female Child No           0     0
##  9 1st   Male   Adult No         118 11446
## 10 2nd   Male   Adult No         154 14938
## # ... with 22 more rows

Penggabungan Beberapa Fungsi

Penggunaan Fungsi Mutate, Filter dan Summarize. Kita akan melakukan perhitungan berapa total biaya ang dikeluarkan untuk setiap kelas jika setiap penumpang yang selamat membutuhkan biaya 97 dollar untuk evakuasi dan peralatan lainnya.

Titanic %>% mutate(cost=n*97) %>% filter(Survived=="Yes") %>% group_by(Class) %>% summarise(sum_y_cost=sum(cost), .groups='drop')
## # A tibble: 4 x 2
##   Class sum_y_cost
##   <chr>      <dbl>
## 1 1st        19691
## 2 2nd        11446
## 3 3rd        17266
## 4 Crew       20564

Demikian, Terima Kasih


  1. Satria June Adwendi, IPB University, ↩︎