Tugas Praktikum 01 Sains Data
Datasets
Datasets yang akan digunakan adalah data airquality dari package datasets.
Daily air quality measurements in New York, May to September 1973."
Data airquality memberikan informasi pengukuran kualitas udara harian di New York pada bulan Mei sampai dengan September 1973.
## Ozone Solar.R Wind Temp Month Day
## 1 41 190 7.4 67 5 1
## 2 36 118 8.0 72 5 2
## 3 12 149 12.6 74 5 3
## 4 18 313 11.5 62 5 4
## 5 NA NA 14.3 56 5 5
## 6 28 NA 14.9 66 5 6
Data airquality memiliki 153 observasi dan 6 variabel yaitu Ozone (dalam ppb), Solar R (dalam lang), kecepatan angin (dalam mph), temperature (dalam F), Bulan (1-12), dan Hari (1-31)
## [1] 153 6
## [1] "Ozone" "Solar.R" "Wind" "Temp" "Month" "Day"
Penggunaan 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 yang terdapat dalam package dpylr namun dalam tugas praktikum kali ini hanya akan dipraktikkan fungsi summarize(), arrange(), filter(), mutate(), dan select()
##
## 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
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().
Berikut akan digunakan fungsi summarize() untuk meringkas data dengan menghitung Rata-rata Ozone dan Suhu maksimum pada tiap bulannya.
airquality %>% group_by(Month) %>% summarise(Mean_Ozone=mean(Ozone, na.rm=TRUE), Max_Temp=max(Temp),.groups='drop')## # A tibble: 5 x 3
## Month Mean_Ozone Max_Temp
## <int> <dbl> <int>
## 1 5 23.6 81
## 2 6 29.4 93
## 3 7 59.1 92
## 4 8 60.0 97
## 5 9 31.4 93
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.
Berikut akan digunakan fungsi arrange() untuk mengurutkan Solar.R dari nilai terkecil dan terbesar
## # A tibble: 153 x 6
## Ozone Solar.R Wind Temp Month Day
## <int> <int> <dbl> <int> <int> <int>
## 1 16 7 6.9 74 7 21
## 2 1 8 9.7 59 5 21
## 3 23 13 12 67 5 28
## 4 23 14 9.2 71 9 22
## 5 8 19 20.1 61 5 9
## 6 14 20 16.6 63 9 25
## 7 9 24 13.8 81 8 2
## 8 9 24 10.9 71 9 14
## 9 4 25 9.7 61 5 23
## 10 13 27 10.3 76 9 18
## # ... with 143 more rows
## # A tibble: 153 x 6
## Ozone Solar.R Wind Temp Month Day
## <int> <int> <dbl> <int> <int> <int>
## 1 14 334 11.5 64 5 16
## 2 NA 332 13.8 80 6 14
## 3 39 323 11.5 87 6 10
## 4 30 322 11.5 68 5 19
## 5 NA 322 11.5 79 6 15
## 6 11 320 16.6 73 5 22
## 7 40 314 10.9 83 7 6
## 8 18 313 11.5 62 5 4
## 9 34 307 12 66 5 17
## 10 23 299 8.6 65 5 7
## # ... with 143 more rows
Fungsi filter()
Fungsi ini digunakan untuk menyeleksi dan menampilkan data sesuai dengan ketentuan.
Berikut akan digunakan fungsi filter() untuk menampilkan data hanya pada bulan Juli saja.
## # A tibble: 31 x 6
## Ozone Solar.R Wind Temp Month Day
## <int> <int> <dbl> <int> <int> <int>
## 1 135 269 4.1 84 7 1
## 2 49 248 9.2 85 7 2
## 3 32 236 9.2 81 7 3
## 4 NA 101 10.9 84 7 4
## 5 64 175 4.6 83 7 5
## 6 40 314 10.9 83 7 6
## 7 77 276 5.1 88 7 7
## 8 97 267 6.3 92 7 8
## 9 97 272 5.7 92 7 9
## 10 85 175 7.4 89 7 10
## # ... with 21 more rows
Fungsi select()
Fungsi ini digunakan untuk mengambil satu atau beberapa variabel tertentu dari data.
Berikut akan digunakan fungsi select() untuk hanya menampilkan variabel Wind dan Month saja.
## # A tibble: 153 x 2
## Wind Month
## <dbl> <int>
## 1 7.4 5
## 2 8 5
## 3 12.6 5
## 4 11.5 5
## 5 14.3 5
## 6 14.9 5
## 7 8.6 5
## 8 13.8 5
## 9 20.1 5
## 10 8.6 5
## # ... with 143 more rows
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.
Berikut akan digunakan fungsi mutate() untuk menambahkan variabel Temp_C yaitu variabel Temperatur dalam Celcius dengan cara menkonversi Variabel Temp memiliki satuan Fahrenheit.
## # A tibble: 153 x 7
## Ozone Solar.R Wind Temp Month Day Temp_C
## <int> <int> <dbl> <int> <int> <int> <dbl>
## 1 41 190 7.4 67 5 1 19.4
## 2 36 118 8 72 5 2 22.2
## 3 12 149 12.6 74 5 3 23.3
## 4 18 313 11.5 62 5 4 16.7
## 5 NA NA 14.3 56 5 5 13.3
## 6 28 NA 14.9 66 5 6 18.9
## 7 23 299 8.6 65 5 7 18.3
## 8 19 99 13.8 59 5 8 15
## 9 8 19 20.1 61 5 9 16.1
## 10 NA 194 8.6 69 5 10 20.6
## # ... with 143 more rows
Penggunaan Secara Bersama
Seluruh fungsi dalam package dplyr dapat digunakan dan dikombinasikan secara bersama-sama sesuai dengan kebutuhan.
Berikut akan digunakan fungsi select(),filter(), max(), mean(), arrange(), dan mutate() secara bersama-sama
airquality %>% select(Month, Ozone, Wind, Temp) %>% filter(Ozone > 20) %>% group_by(Month) %>% summarize(Max_Temp=max(Temp), Mean_Wind=mean(Wind),.groups='drop') %>% arrange(Max_Temp) %>% mutate(Temp_C=(5/9)*(Max_Temp-32))## # A tibble: 5 x 4
## Month Max_Temp Mean_Wind Temp_C
## <int> <int> <dbl> <dbl>
## 1 5 81 10.4 27.2
## 2 6 90 13.1 32.2
## 3 7 92 8.07 33.3
## 4 9 93 9.03 33.9
## 5 8 97 8.14 36.1