Tugas Praktikum 01 Sains Data

Klik disini untuk menuju RPubs

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.

head(airquality)
##   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)

dim(airquality)
## [1] 153   6
colnames(airquality)
## [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()

library(dplyr)
## 
## 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
data(airquality)
airquality<-tibble::as_tibble(airquality)

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

#mengurutkan nilai solar R dari nilai terkecil
airquality %>% arrange(Solar.R)
## # 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
#mengurutkan nilai solar R dari nilai terbesar
airquality %>% arrange(desc(Solar.R))
## # 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.

airquality %>% filter(Month==7)
## # 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.

airquality %>% select(Wind,Month)
## # 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.

airquality %>% mutate(Temp_C=(5/9)*(Temp-32))
## # 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

  • Akan dilakukan proses SELECT() untuk variabel Month, Ozone, wind, dan Temp dan di kelompokkan menurut Month
  • Dilakukan FILTER() untuk Ozone > 20
  • Fungsi SUMMARIZE() digunakan untuk mengetahui MAX() dari Temp dan MEAN() dari Wind
  • Data akan diurutkan dengan ARRANGE() menurut Max_Temp
  • Akan dibuat variabel baru dengan fungsi MUTATE() yang merupakan konversi dari Temp yang berskala Fahrenheit ke Celcius
  • 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