Tugas Praktikum 01 - Sains Data
Packages
Pakcage yang digunakan pada Praktikum :
library(dplyr)
library(knitr)
library(DT)Dataset
Dataset yang akan digunakan adalah data infert dari package dataset
Infertilitas setelah Aborsi Spontan dan Induksi
dataset<-infert
datatable(head(dataset), class = 'cell-border stripe')Data infert memiliki 248 observasi data dan 6 variabel
dim(dataset)## [1] 248 8
colnames(dataset)## [1] "education" "age" "parity" "induced"
## [5] "case" "spontaneous" "stratum" "pooled.stratum"
Fungsi Data Wrangling
Pada bagian ini, praktikum akan menggunakan fungsi-fungsi sebagai berikut: summarise(), arrange(), filter(), select(), mutate()
Fungsi summarise()
Fungsi summarise digunakan untuk meringkas beberapa nilai data menjadi satu nilai. Fungsi ini akan menjadi sangat berguna apabila digabungkan fungsi lain dalam dplyr. na.rm = TRUE memberikan hasil fungsi dengan meniadakan nilai missing. Fungsi di dalam summarise yang dapat digunakan seperti mean(), median(), sd(), IQR(), mad(), min(), max(), quantile(), first(), last(), nth(), n(), n_distinct(), any(), dan all().
Pada praktikum ini dilakukan summarise dengan cara membentuk group berdasarkan case dan menghitung rata-rata dari variabel age
summarised_dataset = dataset %>% group_by(case) %>% summarise(mean_age = mean(age))
datatable(summarised_dataset, class = 'cell-border stripe') %>%
formatStyle('mean_age', color = '', backgroundColor = '#b3ffb3', fontWeight = 'bold')%>% formatRound('mean_age', 2) Fungsi arrange()
Fungsi ini berguna untuk mengurutkan data berdasarkan variabel. Variabel yang menjadi acuan untuk diurutkan dapat lebih dari satu dan dapat ditentukan apakah dari besar ke kecil atau dari kecil ke besar.
Pada praktikum ini dilakukan tindakan mengurutkan variabel age dari nilai terkecil hingga terbesar
arranged_dataset = dataset %>% arrange(age)
datatable(arranged_dataset, class = 'cell-border stripe') %>%
formatStyle('age', color = '', backgroundColor = '#b3ffb3', fontWeight = 'bold')Fungsi filter()
Fungsi ini digunakan untuk menyeleksi dan menampilkan data sesuai dengan ketentuan.
Pada praktikum ini dilakukan filter variabel induced yang lebih besar dari 0 dan variabel spontaneous yang lebih besar dari 0
filtered_dataset = dataset %>% filter(induced>0 & spontaneous>0)
datatable(filtered_dataset, class = 'cell-border stripe') %>%
formatStyle('induced', color = '', backgroundColor = '#b3ffb3', fontWeight = 'bold') %>%
formatStyle('spontaneous', color = '', backgroundColor = '#b3ffb3', fontWeight = 'bold') Fungsi select()
Fungsi ini digunakan untuk mengambil satu atau beberapa variabel tertentu dari data.
Pada praktikum ini dilakukan select terhadap 4 variabel, yaitu education, case, stratum, dan pooled.stratum
selected_dataset = dataset %>% select(education,case,stratum,pooled.stratum)
datatable(selected_dataset, class = 'cell-border stripe') Fungsi mutate()
Fungsi ini dapat digunakan untuk menambahkan variabel baru. Variabel baru tersebut dapat berupa variabel kategorik maupun numerik. Bisa juga seperti kasus di bawah yang mana variabel tersebut merupakan sebuah fungsi dari variabel yang ada.
Pada praktikum ini dilakukan pembuatan variabel baru yaitu Percentile_Age yang merupakan percentile dari variabel age dan variabel age menjadi kategorik, yaitu ‘> mean of age’ dan ‘< mean of age’
mutated_dataset = dataset %>% mutate(percentile_age = ntile(age, 100))%>% mutate(categoric_age = ifelse(age > mean(age) , "> mean of age","< mean of age"))
datatable(mutated_dataset, class = 'cell-border stripe') %>%
formatStyle('percentile_age', color = '', backgroundColor = '#b3ffb3', fontWeight = 'bold')%>%
formatStyle('categoric_age', backgroundColor = styleEqual(c('> mean of age', '< mean of age'), c('#ffccff', '#cce6ff'))) Penggunaan Fungsi Bersamaan
Fungsi dalam package dplyr dapat digunakan dan dikombinasikan secara bersama-sama sesuai dengan kebutuhan eksplorasi data
Berikut akan digunakan fungsi select(),filter(), max(), mean(), arrange(), dan mutate() secara bersama-sama
- Memilih variabel
education,case,age,parity,stratum,pooled.stratum - Filter variabel
case= 1 - Grouping berdasarkan variabel
education
- Menghitung rata-rata dari
age,parity,stratum,pooled.stratum - Mengurutkan data berdasarkan variabel
parity - Mutate variabel
educationmenjadi data kategorik
wrangling_dataset = dataset %>% select(education,case,age,parity,stratum,pooled.stratum)%>% filter(case==1) %>% group_by(education) %>% summarise(mean_age = mean(age),mean_parity = mean(parity),mean_stratum = mean(stratum),mean_pooled.stratum = mean(pooled.stratum))%>% arrange(desc(mean_parity)) %>% mutate(education_categoric= ifelse(education == "0-5yrs" , 0, ifelse(education == "6-11yrs" , 1, 2)))
datatable(wrangling_dataset, class = 'cell-border stripe')%>%formatRound('mean_age', 2)%>%formatRound('mean_parity', 2)%>%formatRound('mean_stratum', 2)%>%formatRound('mean_pooled.stratum', 2)