Tugas Praktikum SD-1
Installing The Package
Package tidyverse merupakan kumpulan dari beberapa package, di antaranya adalah
readrdigunakan untuk mengimpor data tabulartidyrdigunakan untuk merapihkan datadplyrdigunakan untuk memanipulasi dataggplot2digunakan untuk visualisasi data
Import Data
Pada tugas ini digunakan data starwars yang berasal dari package dplyr yang bersumber dari SWAPI Pada data ini memiliki 87 baris dan 13 kolom (variabel), variabel-variabel pada data tersebut adalah name nama karakter pada film starwars, height tinggi badan dari karakter, mass berat badan dari karakter, hair_color warna rambut karakter, skin_color warna kulit karakter, eye_color warna mata karakter, birth_year tahun lahir (sebelum peperangan Yavin), sex jenis kelamin karakter, gender identitas gender karakter, homeworld nama asal daerah, species spesies karakter, films daftar film dimana karakter tersebut ada dalam film, vehicles daftar kendaraan dimana karakter menggunakan, starships daftar kapal dimana karakter menggunakan
Fungsi Data Wrangling
Data wrangling dengan package dplyr merupakan salah satu bagian dari package tidyverse. Data Wrangling berisi fungsi-fungsi untuk memodifikasi dan meringkas data dari suatu database. Berikut fungsi-fungsi untuk Data Wrangling yang digunakan dalam praktikum ini: summarise(), arrange(), filter(), mutate(), select()
Fungsi summarise()
Penggunaan fungsi summarise() untuk meringkas data
# Meringkas data dengan menghitung rata-rata berat badan di karakter starwars berdasarkan species-nya, pada perintah ini selain berisi perintah untuk summarise ditambah perintah tambahan untuk menghilangkan data 'NA'
x <- starwars %>% group_by(species) %>% summarise(mean=mean(mass), .groups='drop')
rataan <- na.omit(x)
rataan## # A tibble: 25 x 2
## species mean
## <chr> <dbl>
## 1 Aleena 15
## 2 Besalisk 102
## 3 Cerean 82
## 4 Clawdite 55
## 5 Dug 40
## 6 Ewok 20
## 7 Geonosian 80
## 8 Hutt 1358
## 9 Kaleesh 159
## 10 Kel Dor 80
## # ... with 15 more rows
Fungsi arrange()
Penggunaan fungsi arrange() untuk mengurutkan data
# Mengurutkan berdasarkan variabel berat badan karakter (mass) dari nilai terkecil
starwars %>% arrange(mass)## # A tibble: 87 x 14
## name height mass hair_color skin_color eye_color birth_year sex gender
## <chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr> <chr>
## 1 Ratt~ 79 15 none grey, blue unknown NA male mascu~
## 2 Yoda 66 17 white green brown 896 male mascu~
## 3 Wick~ 88 20 brown brown brown 8 male mascu~
## 4 R2-D2 96 32 <NA> white, bl~ red 33 none mascu~
## 5 R5-D4 97 32 <NA> white, red red NA none mascu~
## 6 Sebu~ 112 40 none grey, red orange NA male mascu~
## 7 Dud ~ 94 45 none blue, grey yellow NA male mascu~
## 8 Padm~ 165 45 brown light brown 46 fema~ femin~
## 9 Wat ~ 193 48 none green, gr~ unknown NA male mascu~
## 10 Sly ~ 178 48 none pale white NA <NA> <NA>
## # ... with 77 more rows, and 5 more variables: homeworld <chr>, species <chr>,
## # films <list>, vehicles <list>, starships <list>
## # A tibble: 87 x 14
## name height mass hair_color skin_color eye_color birth_year sex gender
## <chr> <int> <dbl> <chr> <chr> <chr> <dbl> <chr> <chr>
## 1 Jabb~ 175 1358 <NA> green-tan~ orange 600 herm~ mascu~
## 2 Grie~ 216 159 none brown, wh~ green, y~ NA male mascu~
## 3 IG-88 200 140 none metal red 15 none mascu~
## 4 Dart~ 202 136 none white yellow 41.9 male mascu~
## 5 Tarf~ 234 136 brown brown blue NA male mascu~
## 6 Owen~ 178 120 brown, gr~ light blue 52 male mascu~
## 7 Bossk 190 113 none green red 53 male mascu~
## 8 Chew~ 228 112 brown unknown blue 200 male mascu~
## 9 Jek ~ 180 110 brown fair blue NA male mascu~
## 10 Dext~ 198 102 none brown yellow NA male mascu~
## # ... with 77 more rows, and 5 more variables: homeworld <chr>, species <chr>,
## # films <list>, vehicles <list>, starships <list>
Fungsi filter()
Menggunakan fungsi filter() untuk memilih sebagian data berdasarkan nilai tertentu
# Memilih data berdasarkan species karakter yaitu Droid, untuk memperbaiki tampilan data dilakukan pengurangan kolom dengan perintah sunbset
y <- starwars %>% filter(species=="Droid")
droid <- subset(y, select = -c(films,vehicles,starships,eye_color,skin_color,hair_color))
print.data.frame(head (droid))## name height mass birth_year sex gender homeworld species
## 1 C-3PO 167 75 112 none masculine Tatooine Droid
## 2 R2-D2 96 32 33 none masculine Naboo Droid
## 3 R5-D4 97 32 NA none masculine Tatooine Droid
## 4 IG-88 200 140 15 none masculine <NA> Droid
## 5 R4-P17 96 NA NA none feminine <NA> Droid
## 6 BB8 NA NA NA none masculine <NA> Droid
Fungsi select()
Fungsi select() dapat digunakan untuk memilih subset data berdasarkan peubah tertentu
## # A tibble: 87 x 3
## species mass height
## <chr> <dbl> <int>
## 1 Human 77 172
## 2 Droid 75 167
## 3 Droid 32 96
## 4 Human 136 202
## 5 Human 49 150
## 6 Human 120 178
## 7 Human 75 165
## 8 Droid 32 97
## 9 Human 84 183
## 10 Human 77 182
## # ... with 77 more rows
Fungsi mutate()
Menggunakan fungsi mutate() untuk menambahkan peubah baru pada data
# Menambahkan variabel berat badan ideal dari karakter starwars (Bila bernilai 1 berarti berat badan sangat ideal) pada fungsi ini juga dilakukan pengurangan variabel kolom agar tampilan data lebih mudah dilihat
z <- starwars %>% mutate(normw=(height-100)/mass)
wnorm <- subset(z, select = -c(films,vehicles,starships,eye_color,skin_color,hair_color, gender))
print.data.frame(head (wnorm))## name height mass birth_year sex homeworld species normw
## 1 Luke Skywalker 172 77 19.0 male Tatooine Human 0.9350649
## 2 C-3PO 167 75 112.0 none Tatooine Droid 0.8933333
## 3 R2-D2 96 32 33.0 none Naboo Droid -0.1250000
## 4 Darth Vader 202 136 41.9 male Tatooine Human 0.7500000
## 5 Leia Organa 150 49 19.0 female Alderaan Human 1.0204082
## 6 Owen Lars 178 120 52.0 male Tatooine Human 0.6500000
Fungsi Gabungan
Fungsi yang digunakan dalam menggabungkan fungsi-fungsi sebelumnya secara bersama-sama
# Pada fungsi ini ingin melihat rasio antara tinggi badan dan berat badan karakter pada species Doroid
starwars %>% select(species,mass,height,homeworld,gender) %>% filter(species=="Droid")%>% mutate(normw=(height-100)/mass)## # A tibble: 6 x 6
## species mass height homeworld gender normw
## <chr> <dbl> <int> <chr> <chr> <dbl>
## 1 Droid 75 167 Tatooine masculine 0.893
## 2 Droid 32 96 Naboo masculine -0.125
## 3 Droid 32 97 Tatooine masculine -0.0938
## 4 Droid 140 200 <NA> masculine 0.714
## 5 Droid NA 96 <NA> feminine NA
## 6 Droid NA NA <NA> masculine NA