Praktikum 01 STA581 <tidyverse Package>

Install tidyverse Package

tidyverse Package merupakan paket yang berfungsi untuk melakukan pengolahan data pada aplikasi R seperti import, export, visualisasi, dan pemodelan data. Package ini berisi kumpulan dari beberapa package. Salah satu contohnya seperti tidyr yang digunakan untuk merapihkan data.

install.packages("tidyverse")

selanjutnya load package yang telah diinstall:

library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.3     v purrr   0.3.4
## v tibble  3.0.5     v dplyr   1.0.3
## v tidyr   1.1.2     v stringr 1.4.0
## v readr   1.4.0     v forcats 0.5.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

Untuk melihat isi dari package, kita dapat menggunakan perintah help() atau dengan menuliskan ?? yang diikuti dengan keyword yang akan dicari.

??tidyverse

Import Datasets ChickWeight

Datasets yang dipilih ChickWeight

Deskripsi: Berat badan anak ayam diukur saat lahir dan setiap hari kedua setelahnya sampai hari ke 20. Anak ayam juga diukur pada hari ke 21. Ada empat kelompok anak ayam yang diberi pakan protein berbeda.

library(datasets)
data(ChickWeight)
head(ChickWeight)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1
## 4     64    6     1    1
## 5     76    8     1    1
## 6     93   10     1    1
ChickWeight<-tibble::as_tibble(ChickWeight)

Penggunaan dplyr Package

Seperti dijelaskan sebelumnya, tidyverse merupakan kumpulan dari beberapa package, salah satunya adalah package dplyr. dplyr adalah package di R yang dapat digunakan untuk memanipulasi data. Package ini dikembangkan oleh Hadley Wickham dan Roman Francois yang memberikan beberapa fungsi yang mudah digunakan. Package ini sangat berguna ketika digunakan untuk melakukan analisis dan eksplorasi data. Ada banyak fungsi dalam dplyr package. Kali ini akan digunakan beberapa fungsi, yaitu summarise(),arrange(), filter(),select(), dan mutate()

library(dplyr)

Fungsi summarise()

menghitung rata2 berat per jenis anak ayam

ChickWeight %>% group_by(Chick) %>% summarise(mean(weight))
## # A tibble: 50 x 2
##    Chick `mean(weight)`
##  * <ord>          <dbl>
##  1 18              37  
##  2 16              49.7
##  3 15              60.1
##  4 13              67.8
##  5 9               81.2
##  6 20              78.4
##  7 10              83.1
##  8 8               92  
##  9 17              92.5
## 10 19              86.8
## # ... with 40 more rows

menghitung median berat per jenis anak ayam

#menghitung rata-rata N setiap Blok
ChickWeight %>% group_by(Chick) %>% summarise(median(weight))
## # A tibble: 50 x 2
##    Chick `median(weight)`
##  * <ord>            <dbl>
##  1 18                37  
##  2 16                51  
##  3 15                65.5
##  4 13                68.5
##  5 9                 91  
##  6 20                75  
##  7 10                85  
##  8 8                 93  
##  9 17                93.5
## 10 19                76.5
## # ... with 40 more rows

Fungsi arrange()

Menggunakan fungsi arrange() untuk mengurutkan data. Ascending

#mengurutkan berdasarkan peubah yield dari nilai terkecil
ChickWeight %>% arrange(weight)
## # A tibble: 578 x 4
##    weight  Time Chick Diet 
##     <dbl> <dbl> <ord> <fct>
##  1     35     2 18    1    
##  2     39     2 3     1    
##  3     39     0 18    1    
##  4     39     0 27    2    
##  5     39     0 28    2    
##  6     39     0 29    2    
##  7     39     0 33    3    
##  8     39     0 36    3    
##  9     39     0 48    4    
## 10     40     0 2     1    
## # ... with 568 more rows

Descending

#mengurutkan berdasarkan peubah yield dari nilai terbesar
ChickWeight %>% arrange(desc(weight))
## # A tibble: 578 x 4
##    weight  Time Chick Diet 
##     <dbl> <dbl> <ord> <fct>
##  1    373    21 35    3    
##  2    361    20 35    3    
##  3    341    21 34    3    
##  4    332    18 35    3    
##  5    331    21 21    2    
##  6    327    20 34    3    
##  7    322    21 48    4    
##  8    321    21 40    3    
##  9    318    20 21    2    
## 10    309    21 29    2    
## # ... with 568 more rows

Fungsi mutate()

Menggunakan fungsi mutate() untuk menambahkan peubah baru pada data.

ChickWeight %>% mutate(`weight per time`=weight/Time)
## # A tibble: 578 x 5
##    weight  Time Chick Diet  `weight per time`
##     <dbl> <dbl> <ord> <fct>             <dbl>
##  1     42     0 1     1                Inf   
##  2     51     2 1     1                 25.5 
##  3     59     4 1     1                 14.8 
##  4     64     6 1     1                 10.7 
##  5     76     8 1     1                  9.5 
##  6     93    10 1     1                  9.3 
##  7    106    12 1     1                  8.83
##  8    125    14 1     1                  8.93
##  9    149    16 1     1                  9.31
## 10    171    18 1     1                  9.5 
## # ... with 568 more rows

Fungsi filter()

Menggunakan fungsi filter() untuk memilih sebagian data berdasarkan nilai tertentu.

ChickWeight %>% filter(Time=="10")
## # A tibble: 49 x 4
##    weight  Time Chick Diet 
##     <dbl> <dbl> <ord> <fct>
##  1     93    10 1     1    
##  2    103    10 2     1    
##  3     99    10 3     1    
##  4     87    10 4     1    
##  5    106    10 5     1    
##  6    124    10 6     1    
##  7    112    10 7     1    
##  8     93    10 8     1    
##  9     96    10 9     1    
## 10     81    10 10    1    
## # ... with 39 more rows

Fungsi select()

Fungsi select() dapat digunakan untuk memilih subset data berdasarkan peubah tertentu.

ChickWeight %>% select(weight,Time)
## # A tibble: 578 x 2
##    weight  Time
##     <dbl> <dbl>
##  1     42     0
##  2     51     2
##  3     59     4
##  4     64     6
##  5     76     8
##  6     93    10
##  7    106    12
##  8    125    14
##  9    149    16
## 10    171    18
## # ... with 568 more rows

Penggunaan Fungsi Secara Bersama-Sama

Fungsi-fungsi yang ada dalam dplyr dapat digunakan secara bersama-sama sesuai dengan kebutuhan.

Pada kasus ini, akan digunakan kombinasi antara fungsi summarise(),arrange()

Fungsi summarise() digunakan meringkas data untuk mengetahui mean weight menurut jenis protein (Diet).

Fungsi arrange() digunakan untuk mengurutkannya secara descending.

ChickWeight %>% group_by(Diet) %>% summarise(MeanWeight=mean(weight)) %>% arrange(desc(Diet))
## # A tibble: 4 x 2
##   Diet  MeanWeight
##   <fct>      <dbl>
## 1 4           135.
## 2 3           143.
## 3 2           123.
## 4 1           103.