[P-01] Tugas Praktikum STA581 SAINS DATA
INSTRUKSI TUGAS
Instruksi untuk Tugas Praktikum 01 ini adalah sebagai berikut:
Cari Datasets selain
irisdanTeamsAnda hanya boleh menggunakan data di package
datasetsmaupun datasets di packageRlainnya.Pada datasets yang Anda pilih, Praktikkan penggunaan fungsi:
summarise(),arrange(),filter(),mutate(),select(). Minimal 1 kali secara terpisah.Praktikan penggunaan fungsi tersebut secara bersama-sama (jumlahnya bebas).
Import Data
Data yang digunakan adalah Datasets attenu dengan memanfaatkan library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.2 v purrr 0.3.4
## v tibble 3.0.4 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()
## # A tibble: 182 x 5
## event mag station dist accel
## <dbl> <dbl> <fct> <dbl> <dbl>
## 1 1 7 117 12 0.359
## 2 2 7.4 1083 148 0.014
## 3 2 7.4 1095 42 0.196
## 4 2 7.4 283 85 0.135
## 5 2 7.4 135 107 0.062
## 6 2 7.4 475 109 0.054
## 7 2 7.4 113 156 0.014
## 8 2 7.4 1008 224 0.018
## 9 2 7.4 1028 293 0.01
## 10 2 7.4 2001 359 0.004
## # ... with 172 more rows
Diperoleh deskripsi data attenu adalah sebagai berikut: “This data gives peak accelerations measured at various observation stations for 23 earthquakes in California. The data have been used by various workers to estimate the attenuating affect of distance on ground acceleration” (The Joyner–Boore Attenuation Data).
## [1] 182 5
Data attenu tersebut terdiri dari 182 baris (pengamatan) dan 5 kolom (peubah), yaitu:[,1] Event Number; [,2]Moment Magnitude; [,3]Station Number; [,4]Station-hypocenter distance (km); dan [,5] Peak acceleration (g)
## # A tibble: 6 x 5
## event mag station dist accel
## <dbl> <dbl> <fct> <dbl> <dbl>
## 1 1 7 117 12 0.359
## 2 2 7.4 1083 148 0.014
## 3 2 7.4 1095 42 0.196
## 4 2 7.4 283 85 0.135
## 5 2 7.4 135 107 0.062
## 6 2 7.4 475 109 0.054
## event mag station dist
## Min. : 1.00 Min. :5.000 117 : 5 Min. : 0.50
## 1st Qu.: 9.00 1st Qu.:5.300 1028 : 4 1st Qu.: 11.32
## Median :18.00 Median :6.100 113 : 4 Median : 23.40
## Mean :14.74 Mean :6.084 112 : 3 Mean : 45.60
## 3rd Qu.:20.00 3rd Qu.:6.600 135 : 3 3rd Qu.: 47.55
## Max. :23.00 Max. :7.700 (Other):147 Max. :370.00
## NA's : 16
## accel
## Min. :0.00300
## 1st Qu.:0.04425
## Median :0.11300
## Mean :0.15422
## 3rd Qu.:0.21925
## Max. :0.81000
##
Penggunaan Fungsi
Fungsi summarise()
- Menghitung rata-rata Moment Magnitude untuk setiap Event Number
## # A tibble: 23 x 2
## event meanMag
## * <dbl> <dbl>
## 1 1 7
## 2 2 7.4
## 3 3 5.3
## 4 4 6.1
## 5 5 6.6
## 6 6 5.6
## 7 7 5.7
## 8 8 5.3
## 9 9 6.6
## 10 10 5.3
## # ... with 13 more rows
- Menghitung rata-rata Station-hypocenter distance untuk setiap Event Number
## # A tibble: 23 x 2
## event meanDist
## * <dbl> <dbl>
## 1 1 12
## 2 2 189.
## 3 3 8
## 4 4 51.8
## 5 5 153.
## 6 6 62
## 7 7 62
## 8 8 20.8
## 9 9 46.8
## 10 10 31
## # ... with 13 more rows
- Menghitung rata-rata Peak acceleration untuk setiap Event Number
## # A tibble: 23 x 2
## event meanAccel
## * <dbl> <dbl>
## 1 1 0.359
## 2 2 0.0511
## 3 3 0.127
## 4 4 0.197
## 5 5 0.0275
## 6 6 0.005
## 7 7 0.003
## 8 8 0.118
## 9 9 0.123
## 10 10 0.03
## # ... with 13 more rows
Fungsi arrange()
- Mengurutkan data berdasarkan peubah Moment Magnitude dari nilai terkecil
## # A tibble: 182 x 5
## event mag station dist accel
## <dbl> <dbl> <fct> <dbl> <dbl>
## 1 20 5 5055 7.5 0.264
## 2 20 5 942 8.8 0.263
## 3 20 5 5028 8.9 0.23
## 4 20 5 5165 9.4 0.147
## 5 20 5 952 9.7 0.286
## 6 20 5 958 9.7 0.157
## 7 20 5 955 10.5 0.237
## 8 20 5 117 10.5 0.133
## 9 20 5 412 12 0.055
## 10 20 5 5053 12.2 0.097
## # ... with 172 more rows
- Mengurutkan data berdasarkan peubah Moment Magnitude dari nilai terbesar
## # A tibble: 182 x 5
## event mag station dist accel
## <dbl> <dbl> <fct> <dbl> <dbl>
## 1 11 7.7 2714 45 0.11
## 2 11 7.7 2708 145 0.01
## 3 11 7.7 2715 300 0.01
## 4 17 7.6 2734 25.4 0.16
## 5 17 7.6 <NA> 32.9 0.064
## 6 17 7.6 2728 92.2 0.09
## 7 2 7.4 1083 148 0.014
## 8 2 7.4 1095 42 0.196
## 9 2 7.4 283 85 0.135
## 10 2 7.4 135 107 0.062
## # ... with 172 more rows
- Mengurutkan data berdasarkan peubah Peak acceleration dari nilai terbesar
## # A tibble: 182 x 5
## event mag station dist accel
## <dbl> <dbl> <fct> <dbl> <dbl>
## 1 19 6.5 5054 2.6 0.81
## 2 19 6.5 942 1.3 0.72
## 3 19 6.5 958 3.8 0.64
## 4 19 6.5 955 6.8 0.61
## 5 19 6.5 952 4 0.56
## 6 19 6.5 5028 0.6 0.52
## 7 19 6.5 5165 5.1 0.51
## 8 4 6.1 1013 6.6 0.509
## 9 4 6.1 1014 9.3 0.467
## 10 19 6.5 <NA> 8.4 0.46
## # ... with 172 more rows
Fungsi filter()
- Memilih sebagian data berdasarkan peubah Moment Magnitude yang bernilai dibawah 4.0
## # A tibble: 0 x 5
## # ... with 5 variables: event <dbl>, mag <dbl>, station <fct>, dist <dbl>,
## # accel <dbl>
- Memilih sebagian data berdasarkan peubah Moment Magnitude yang bernilai 5.0
## # A tibble: 16 x 5
## event mag station dist accel
## <dbl> <dbl> <fct> <dbl> <dbl>
## 1 20 5 5055 7.5 0.264
## 2 20 5 942 8.8 0.263
## 3 20 5 5028 8.9 0.23
## 4 20 5 5165 9.4 0.147
## 5 20 5 952 9.7 0.286
## 6 20 5 958 9.7 0.157
## 7 20 5 955 10.5 0.237
## 8 20 5 117 10.5 0.133
## 9 20 5 412 12 0.055
## 10 20 5 5053 12.2 0.097
## 11 20 5 5054 12.8 0.129
## 12 20 5 5058 14.6 0.192
## 13 20 5 5057 14.9 0.147
## 14 20 5 5115 17.6 0.154
## 15 20 5 5056 23.9 0.06
## 16 20 5 5060 25 0.057
- Memilih sebagian data berdasarkan peubah Moment Magnitude yang bernilai lebih dari 6.0
## # A tibble: 102 x 5
## event mag station dist accel
## <dbl> <dbl> <fct> <dbl> <dbl>
## 1 1 7 117 12 0.359
## 2 2 7.4 1083 148 0.014
## 3 2 7.4 1095 42 0.196
## 4 2 7.4 283 85 0.135
## 5 2 7.4 135 107 0.062
## 6 2 7.4 475 109 0.054
## 7 2 7.4 113 156 0.014
## 8 2 7.4 1008 224 0.018
## 9 2 7.4 1028 293 0.01
## 10 2 7.4 2001 359 0.004
## # ... with 92 more rows
Fungsi select()
- Memilih sebagian dari data, yaitu peubah Event Number, Station Number, dan Moment Magnitude
## # A tibble: 182 x 3
## event station mag
## <dbl> <fct> <dbl>
## 1 1 117 7
## 2 2 1083 7.4
## 3 2 1095 7.4
## 4 2 283 7.4
## 5 2 135 7.4
## 6 2 475 7.4
## 7 2 113 7.4
## 8 2 1008 7.4
## 9 2 1028 7.4
## 10 2 2001 7.4
## # ... with 172 more rows
- Memilih sebagian dari data, yaitu peubah Event Number, Station Number, dan Peak acceleration
## # A tibble: 182 x 3
## event station accel
## <dbl> <fct> <dbl>
## 1 1 117 0.359
## 2 2 1083 0.014
## 3 2 1095 0.196
## 4 2 283 0.135
## 5 2 135 0.062
## 6 2 475 0.054
## 7 2 113 0.014
## 8 2 1008 0.018
## 9 2 1028 0.01
## 10 2 2001 0.004
## # ... with 172 more rows
Fungsi mutate()
- Menambahkan peubah baru pada data, misalkan disini ditambahkan peubah baru yaitu
Z.mag
(myMag <- attenu %>% mutate(Z.mag = round((mag - mean(mag))/(sd(attenu$mag)/sqrt(nrow(attenu))),3)))## # A tibble: 182 x 6
## event mag station dist accel Z.mag
## <dbl> <dbl> <fct> <dbl> <dbl> <dbl>
## 1 1 7 117 12 0.359 17.1
## 2 2 7.4 1083 148 0.014 24.6
## 3 2 7.4 1095 42 0.196 24.6
## 4 2 7.4 283 85 0.135 24.6
## 5 2 7.4 135 107 0.062 24.6
## 6 2 7.4 475 109 0.054 24.6
## 7 2 7.4 113 156 0.014 24.6
## 8 2 7.4 1008 224 0.018 24.6
## 9 2 7.4 1028 293 0.01 24.6
## 10 2 7.4 2001 359 0.004 24.6
## # ... with 172 more rows
- Menambahkan peubah baru pada data, misalkan disini ditambahkan peubah baru yaitu
L.mag
## # A tibble: 182 x 6
## event mag station dist accel L.mag
## <dbl> <dbl> <fct> <dbl> <dbl> <chr>
## 1 1 7 117 12 0.359 High Risk
## 2 2 7.4 1083 148 0.014 High Risk
## 3 2 7.4 1095 42 0.196 High Risk
## 4 2 7.4 283 85 0.135 High Risk
## 5 2 7.4 135 107 0.062 High Risk
## 6 2 7.4 475 109 0.054 High Risk
## 7 2 7.4 113 156 0.014 High Risk
## 8 2 7.4 1008 224 0.018 High Risk
## 9 2 7.4 1028 293 0.01 High Risk
## 10 2 7.4 2001 359 0.004 High Risk
## # ... with 172 more rows
Eksplorasi Data
Disini akan dipraktikkan penggunaan fungsi summarise(), arrange(), filter(), mutate(), atau select() secara bersama-sama:
- Memilih beberapa peubah (Event Number; Moment Magnitude; Station Number; dan Peak acceleration) dari data
attenudengan hanya memilih peubah Moment Magnitude yang lebih besar dari 6.0. Selanjutnya data diurutkan dari urutan peubah Moment Magnitude paling kecil, kemudian dari urutan peubah Peak acceleration paling besar. Selain itu, ditambahkan peubah baruL.accelyaitu Level of Peak acceleration
(myAttenu <- attenu %>% select(event, mag, station, accel) %>% filter(mag >= 6.0) %>% arrange(mag, desc(accel)) %>% mutate(L.accel = if_else(accel >= mean(accel),"High", "Low")))## # A tibble: 102 x 5
## event mag station accel L.accel
## <dbl> <dbl> <fct> <dbl> <chr>
## 1 15 6 1051 0.11 Low
## 2 15 6 1292 0.08 Low
## 3 15 6 1291 0.07 Low
## 4 15 6 1293 0.04 Low
## 5 4 6.1 1013 0.509 High
## 6 4 6.1 1014 0.467 High
## 7 4 6.1 1438 0.411 High
## 8 4 6.1 1015 0.279 High
## 9 4 6.1 1016 0.072 Low
## 10 4 6.1 1083 0.018 Low
## # ... with 92 more rows
- Dari data baru (
myAttenu) yang telah dibuat tersebut selanjutnya dihitung jumlah Event Number berdasarkan kategori Level of Peak acceleration nya yang High dan diurutkan totalnya dari yang terbesar
## # A tibble: 6 x 3
## event L.accel n
## <dbl> <chr> <int>
## 1 19 High 25
## 2 9 High 6
## 3 4 High 4
## 4 1 High 1
## 5 2 High 1
## 6 12 High 1
- Dari data baru (
myAttenu) yang telah dibuat tersebut juga dihitung rata-rata dari Peak acceleration berdasarkan Level of Peak acceleration-nya
## # A tibble: 2 x 2
## L.accel A.accel
## * <chr> <dbl>
## 1 High 0.364
## 2 Low 0.0656
myAttenu %>% select(event, mag, accel) %>% group_by(mag) %>% summarise(A.accel = mean(accel)) %>% arrange(mag,A.accel)## # A tibble: 9 x 2
## mag A.accel
## <dbl> <dbl>
## 1 6 0.075
## 2 6.1 0.197
## 3 6.2 0.39
## 4 6.5 0.296
## 5 6.6 0.0912
## 6 7 0.359
## 7 7.4 0.0511
## 8 7.6 0.105
## 9 7.7 0.0433
- Dari data baru (
myAttenu) yang telah dibuat tersebut dihitung juga rata-rata dari Peak acceleration berdasarkan Moment Magnitude-nya dan diurutkan berdasarkan rata-rata Peak acceleration yang terbesar
## # A tibble: 9 x 2
## mag A.accel
## <dbl> <dbl>
## 1 6.2 0.39
## 2 7 0.359
## 3 6.5 0.296
## 4 6.1 0.197
## 5 7.6 0.105
## 6 6.6 0.0912
## 7 6 0.075
## 8 7.4 0.0511
## 9 7.7 0.0433
Selain itu, penggunaan fungsi-fungsi tersebut juga bisa digunakan langsung secara bersama-sama seperti berikut:
- Memilih sebagian dari data, yaitu peubah Moment Magnitude, Station-hypocenter distance, dan Peak acceleration yang dikelompokkan berdasarkan Moment Magnitude serta dihitung rata-rata Station-hypocenter distance dan Peak acceleration-nya. Kemudian diurutkan berdasarkan peubah Moment Magnitude dari nilai terbesar dan hanya diambil Moment Magnitude yang nilainya > 5.0. Selain itu, ditambahkan juga peubah baru
L.accelyaitu Level of Peak acceleration
attenu %>% select(mag,dist,accel) %>% group_by(mag) %>% summarise(meanDist=mean(dist),meanAccel=mean(accel))%>% arrange(desc(mag))%>%filter(mag>5.0)%>% mutate(L.accel = if_else(meanAccel >=mean(attenu$accel) ,"High", "Low"))## # A tibble: 16 x 4
## mag meanDist meanAccel L.accel
## <dbl> <dbl> <dbl> <chr>
## 1 7.7 163. 0.0433 Low
## 2 7.6 50.2 0.105 Low
## 3 7.4 189. 0.0511 Low
## 4 7 12 0.359 High
## 5 6.6 82.3 0.0912 Low
## 6 6.5 18.1 0.296 High
## 7 6.2 5 0.39 High
## 8 6.1 51.8 0.197 High
## 9 6 25.2 0.075 Low
## 10 5.8 18.0 0.139 Low
## 11 5.7 62 0.003 Low
## 12 5.6 42.7 0.0553 Low
## 13 5.5 23.8 0.120 Low
## 14 5.3 30.3 0.0891 Low
## 15 5.2 11.2 0.110 Low
## 16 5.1 4.57 0.293 High
- Memilih sebagian dari data, yaitu peubah Event Number, Moment Magnitude, Station-hypocenter distance, dan Peak acceleration yang dikelompokkan berdasarkan Event Numbe serta dihitung rata-rata Moment Magnitude, Station-hypocenter distance dan Peak acceleration-nya. Kemudian diurutkan berdasarkan peubah Event Number dari nilai terbesar dan hanya diambil Event Number yang lebih dari 10. Selain itu, ditambahkan juga peubah baru
L.accelyaitu Level of Peak acceleration
attenu %>% select(event,mag,dist,accel) %>% group_by(event) %>% summarise(meanMag=mean(mag),meanDist=mean(dist),meanAccel=mean(accel))%>% arrange(desc(event))%>%filter(event>10)%>% mutate(L.accel = if_else(meanAccel >=mean(attenu$accel) ,"High", "Low"))## # A tibble: 13 x 5
## event meanMag meanDist meanAccel L.accel
## <dbl> <dbl> <dbl> <dbl> <chr>
## 1 23 5.3 34.2 0.0823 Low
## 2 22 5.5 23.8 0.120 Low
## 3 21 5.8 23.7 0.0826 Low
## 4 20 5 13 0.163 High
## 5 19 6.5 18.1 0.296 High
## 6 18 5.8 14.3 0.175 High
## 7 17 7.6 50.2 0.105 Low
## 8 16 5.1 4.57 0.293 High
## 9 15 6 25.2 0.075 Low
## 10 14 5.2 11.2 0.110 Low
## 11 13 5.6 33 0.0805 Low
## 12 12 6.2 5 0.39 High
## 13 11 7.7 163. 0.0433 Low