Tugas Akhir Praktikum STA261 (Mandarel)
A. Contoh Akses Database
Ketika akan mengakses database di R, diperlukan package DBI dan RSQlite, sehingga perlu dipastikan bahwa kedua package tersebut telah terinstall.
install.packages(c("RSQLite", "DBI"), dependencies = TRUE)Kemudian panggil package tersebut dengan fungsi library().
library(RSQLite)
library(DBI)1. Menggunakan Engine SQL
Perlu dibuat suatu objek connection sebagai variabel yang menghubungkan SQL dengan aplikasi R Untuk menggunakan SQL engine di R.
dat <- DBI::dbConnect(RSQLite::SQLite(), "C:/sqlite/chinook.db")Syntax menunjukkan pembuatan variabel dat sebagai objek connection dengan engine SQL pada file tertentu yang merujuk ke device pengguna.
Pengguna dapat menggunakan syntax SQL di R seperti contoh berikut:
SELECT
*
FROM
Customers
WHERE
Country="USA";| CustomerId | FirstName | LastName | Company | Address | City | State | Country | PostalCode | Phone | Fax | SupportRepId | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 16 | Frank | Harris | Google Inc. | 1600 Amphitheatre Parkway | Mountain View | CA | USA | 94043-1351 | +1 (650) 253-0000 | +1 (650) 253-0000 | fharris@google.com | 4 |
| 17 | Jack | Smith | Microsoft Corporation | 1 Microsoft Way | Redmond | WA | USA | 98052-8300 | +1 (425) 882-8080 | +1 (425) 882-8081 | jacksmith@microsoft.com | 5 |
| 18 | Michelle | Brooks | NA | 627 Broadway | New York | NY | USA | 10012-2612 | +1 (212) 221-3546 | +1 (212) 221-4679 | michelleb@aol.com | 3 |
| 19 | Tim | Goyer | Apple Inc. | 1 Infinite Loop | Cupertino | CA | USA | 95014 | +1 (408) 996-1010 | +1 (408) 996-1011 | tgoyer@apple.com | 3 |
| 20 | Dan | Miller | NA | 541 Del Medio Avenue | Mountain View | CA | USA | 94040-111 | +1 (650) 644-3358 | NA | dmiller@comcast.com | 4 |
| 21 | Kathy | Chase | NA | 801 W 4th Street | Reno | NV | USA | 89503 | +1 (775) 223-7665 | NA | kachase@hotmail.com | 5 |
| 22 | Heather | Leacock | NA | 120 S Orange Ave | Orlando | FL | USA | 32801 | +1 (407) 999-7788 | NA | hleacock@gmail.com | 4 |
| 23 | John | Gordon | NA | 69 Salem Street | Boston | MA | USA | 2113 | +1 (617) 522-1333 | NA | johngordon22@yahoo.com | 4 |
| 24 | Frank | Ralston | NA | 162 E Superior Street | Chicago | IL | USA | 60611 | +1 (312) 332-3232 | NA | fralston@gmail.com | 3 |
| 25 | Victor | Stevens | NA | 319 N. Frances Street | Madison | WI | USA | 53703 | +1 (608) 257-0597 | NA | vstevens@yahoo.com | 5 |
2. Menggunakan DPLYR
Diperlukan variabel baru untuk memanggil suatu database.
dat2 <- DBI::dbConnect(RSQLite::SQLite(), "C:/sqlite/chinook.db")dengan kelas:
class(dat2)## [1] "SQLiteConnection"
## attr(,"package")
## [1] "RSQLite"
Untuk melihat ada tabel apa saja pada chinook:
RSQLite::dbListTables(dat2)## [1] "albums" "artists" "customers" "employees"
## [5] "genres" "invoice_items" "invoices" "media_types"
## [9] "playlist_track" "playlists" "sqlite_sequence" "sqlite_stat1"
## [13] "tracks"
Panggil package yang akan digunakan terlebih dahulu, yaitu package dplry dan dbplyr atau hanya memanggil package tidyverse yang mencakup keduanya sekaligus.
library(dplyr)
library(dbplyr)Dengan menggunakan fungsi dplyr, kita dapat memanggil tabel spesifik dari database chinook2 sebagai variabel baru di R:
customers <- dplyr::tbl(dat2, "customers")
customers## # Source: table<customers> [?? x 13]
## # Database: sqlite 3.37.0 [C:\sqlite\chinook.db]
## CustomerId FirstName LastName Company Address City State Country PostalCode
## <int> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 1 Luís Gonçalves Embrae~ Av. Br~ São ~ SP Brazil 12227-000
## 2 2 Leonie Köhler <NA> Theodo~ Stut~ <NA> Germany 70174
## 3 3 François Tremblay <NA> 1498 r~ Mont~ QC Canada H2G 1A7
## 4 4 Bjørn Hansen <NA> Ullevå~ Oslo <NA> Norway 0171
## 5 5 František Wichterl~ JetBra~ Klanov~ Prag~ <NA> Czech ~ 14700
## 6 6 Helena Holý <NA> Rilská~ Prag~ <NA> Czech ~ 14300
## 7 7 Astrid Gruber <NA> Rotent~ Vien~ <NA> Austria 1010
## 8 8 Daan Peeters <NA> Grétry~ Brus~ <NA> Belgium 1000
## 9 9 Kara Nielsen <NA> Sønder~ Cope~ <NA> Denmark 1720
## 10 10 Eduardo Martins Woodst~ Rua Dr~ São ~ SP Brazil 01007-010
## # ... with more rows, and 4 more variables: Phone <chr>, Fax <chr>,
## # Email <chr>, SupportRepId <int>
Dalam syntax dplyr, fungsi dalam kurung dapat diubah menjadi “%>%” agar lebih mudah terbaca. Contoh penggunaannya :
dat3 <- customers %>%
select(CustomerId,LastName, Company, Address, City, Country) %>%
filter(Country=="USA") %>%
arrange(CustomerId)
dat3## # Source: lazy query [?? x 6]
## # Database: sqlite 3.37.0 [C:\sqlite\chinook.db]
## # Ordered by: CustomerId
## CustomerId LastName Company Address City Country
## <int> <chr> <chr> <chr> <chr> <chr>
## 1 16 Harris Google Inc. 1600 Amphitheatr~ Mountain~ USA
## 2 17 Smith Microsoft Corporation 1 Microsoft Way Redmond USA
## 3 18 Brooks <NA> 627 Broadway New York USA
## 4 19 Goyer Apple Inc. 1 Infinite Loop Cupertino USA
## 5 20 Miller <NA> 541 Del Medio Av~ Mountain~ USA
## 6 21 Chase <NA> 801 W 4th Street Reno USA
## 7 22 Leacock <NA> 120 S Orange Ave Orlando USA
## 8 23 Gordon <NA> 69 Salem Street Boston USA
## 9 24 Ralston <NA> 162 E Superior S~ Chicago USA
## 10 25 Stevens <NA> 319 N. Frances S~ Madison USA
## # ... with more rows
Syntax di atas memanggil tabel customers dan mencetak nomor ID pelanggan, nama depan pelanggan, nama akhir pelanggan, perusahaan, alamat, kota, dan negara pelanggan dengan negara pelanggan adalah USA kemudian diurutkan berdasarkan nomor ID pelanggan.
Pengguna dapat menggunakan syntax berikut untuk melihat bagaimana jika fungsi tersebut dijalankan di SQL:
dplyr::show_query(dat3)## <SQL>
## SELECT *
## FROM (SELECT `CustomerId`, `LastName`, `Company`, `Address`, `City`, `Country`
## FROM `customers`)
## WHERE (`Country` = 'USA')
## ORDER BY `CustomerId`
B. Data Wrangling
Pada tahap ini kita akan menggunakan dataset airquality yang telah tersedia pada default datasets di R.
library(datasets)
airqualitySelect
Perintah select berfungsi untuk memilih kolom tertentu saja untuk dicetak.
airquality %>% select(Ozone, Solar.R)## Ozone Solar.R
## 1 41 190
## 2 36 118
## 3 12 149
## 4 18 313
## 5 NA NA
## 6 28 NA
## 7 23 299
## 8 19 99
## 9 8 19
## 10 NA 194
## 11 7 NA
## 12 16 256
## 13 11 290
## 14 14 274
## 15 18 65
## 16 14 334
## 17 34 307
## 18 6 78
## 19 30 322
## 20 11 44
## 21 1 8
## 22 11 320
## 23 4 25
## 24 32 92
## 25 NA 66
## 26 NA 266
## 27 NA NA
## 28 23 13
## 29 45 252
## 30 115 223
## 31 37 279
## 32 NA 286
## 33 NA 287
## 34 NA 242
## 35 NA 186
## 36 NA 220
## 37 NA 264
## 38 29 127
## 39 NA 273
## 40 71 291
## 41 39 323
## 42 NA 259
## 43 NA 250
## 44 23 148
## 45 NA 332
## 46 NA 322
## 47 21 191
## 48 37 284
## 49 20 37
## 50 12 120
## 51 13 137
## 52 NA 150
## 53 NA 59
## 54 NA 91
## 55 NA 250
## 56 NA 135
## 57 NA 127
## 58 NA 47
## 59 NA 98
## 60 NA 31
## 61 NA 138
## 62 135 269
## 63 49 248
## 64 32 236
## 65 NA 101
## 66 64 175
## 67 40 314
## 68 77 276
## 69 97 267
## 70 97 272
## 71 85 175
## 72 NA 139
## 73 10 264
## 74 27 175
## 75 NA 291
## 76 7 48
## 77 48 260
## 78 35 274
## 79 61 285
## 80 79 187
## 81 63 220
## 82 16 7
## 83 NA 258
## 84 NA 295
## 85 80 294
## 86 108 223
## 87 20 81
## 88 52 82
## 89 82 213
## 90 50 275
## 91 64 253
## 92 59 254
## 93 39 83
## 94 9 24
## 95 16 77
## 96 78 NA
## 97 35 NA
## 98 66 NA
## 99 122 255
## 100 89 229
## 101 110 207
## 102 NA 222
## 103 NA 137
## 104 44 192
## 105 28 273
## 106 65 157
## 107 NA 64
## 108 22 71
## 109 59 51
## 110 23 115
## 111 31 244
## 112 44 190
## 113 21 259
## 114 9 36
## 115 NA 255
## 116 45 212
## 117 168 238
## 118 73 215
## 119 NA 153
## 120 76 203
## 121 118 225
## 122 84 237
## 123 85 188
## 124 96 167
## 125 78 197
## 126 73 183
## 127 91 189
## 128 47 95
## 129 32 92
## 130 20 252
## 131 23 220
## 132 21 230
## 133 24 259
## 134 44 236
## 135 21 259
## 136 28 238
## 137 9 24
## 138 13 112
## 139 46 237
## 140 18 224
## 141 13 27
## 142 24 238
## 143 16 201
## 144 13 238
## 145 23 14
## 146 36 139
## 147 7 49
## 148 14 20
## 149 30 193
## 150 NA 145
## 151 14 191
## 152 18 131
## 153 20 223
Arrange
Perintah arrange berfungsi untuk mengurutkan tabel berdasarkan kolom tertentu yang telah ditentukan. Default dari perintah ini adalah pengurutan dari yang terkecil. Kita bisa menggunakan fungsi desc untuk mengurutkannya dari yang terbesar.
airquality %>% arrange(Wind)## Ozone Solar.R Wind Temp Month Day
## 1 NA 59 1.7 76 6 22
## 2 118 225 2.3 94 8 29
## 3 73 183 2.8 93 9 3
## 4 168 238 3.4 81 8 25
## 5 122 255 4.0 89 8 7
## 6 135 269 4.1 84 7 1
## 7 NA 91 4.6 76 6 23
## 8 64 175 4.6 83 7 5
## 9 66 NA 4.6 87 8 6
## 10 91 189 4.6 93 9 4
## 11 77 276 5.1 88 7 7
## 12 79 187 5.1 87 7 19
## 13 78 197 5.1 92 9 2
## 14 115 223 5.7 79 5 30
## 15 97 272 5.7 92 7 9
## 16 NA 153 5.7 88 8 27
## 17 NA 150 6.3 77 6 21
## 18 NA 250 6.3 76 6 24
## 19 97 267 6.3 92 7 8
## 20 61 285 6.3 84 7 18
## 21 59 51 6.3 79 8 17
## 22 84 237 6.3 96 8 30
## 23 85 188 6.3 94 8 31
## 24 28 238 6.3 77 9 13
## 25 7 NA 6.9 74 5 11
## 26 NA 273 6.9 87 6 8
## 27 48 260 6.9 81 7 16
## 28 16 7 6.9 74 7 21
## 29 39 83 6.9 81 8 1
## 30 78 NA 6.9 86 8 4
## 31 96 167 6.9 91 9 1
## 32 46 237 6.9 78 9 16
## 33 30 193 6.9 70 9 26
## 34 41 190 7.4 67 5 1
## 35 37 279 7.4 76 5 31
## 36 85 175 7.4 89 7 10
## 37 82 213 7.4 88 7 28
## 38 50 275 7.4 86 7 29
## 39 64 253 7.4 83 7 30
## 40 16 77 7.4 82 8 3
## 41 35 NA 7.4 85 8 5
## 42 23 115 7.4 76 8 18
## 43 47 95 7.4 87 9 5
## 44 36 118 8.0 72 5 2
## 45 NA NA 8.0 57 5 27
## 46 23 148 8.0 82 6 13
## 47 NA 135 8.0 75 6 25
## 48 NA 127 8.0 78 6 26
## 49 NA 138 8.0 83 6 30
## 50 108 223 8.0 85 7 25
## 51 110 207 8.0 90 8 9
## 52 73 215 8.0 86 8 26
## 53 16 201 8.0 82 9 20
## 54 18 131 8.0 76 9 29
## 55 23 299 8.6 65 5 7
## 56 NA 194 8.6 69 5 10
## 57 NA 286 8.6 78 6 1
## 58 NA 220 8.6 85 6 5
## 59 NA 139 8.6 82 7 11
## 60 80 294 8.6 86 7 24
## 61 20 81 8.6 82 7 26
## 62 NA 222 8.6 92 8 10
## 63 11 290 9.2 66 5 13
## 64 NA 186 9.2 84 6 4
## 65 NA 250 9.2 92 6 12
## 66 20 37 9.2 65 6 18
## 67 49 248 9.2 85 7 2
## 68 32 236 9.2 81 7 3
## 69 59 254 9.2 81 7 31
## 70 23 14 9.2 71 9 22
## 71 16 256 9.7 69 5 12
## 72 11 44 9.7 62 5 20
## 73 1 8 9.7 59 5 21
## 74 4 25 9.7 61 5 23
## 75 NA 287 9.7 74 6 2
## 76 29 127 9.7 82 6 7
## 77 NA 258 9.7 81 7 22
## 78 65 157 9.7 80 8 14
## 79 45 212 9.7 79 8 24
## 80 76 203 9.7 97 8 28
## 81 24 259 9.7 73 9 10
## 82 13 137 10.3 76 6 20
## 83 NA 47 10.3 73 6 27
## 84 35 274 10.3 82 7 17
## 85 89 229 10.3 90 8 8
## 86 22 71 10.3 77 8 16
## 87 44 190 10.3 78 8 20
## 88 23 220 10.3 78 9 8
## 89 13 27 10.3 76 9 18
## 90 24 238 10.3 68 9 19
## 91 36 139 10.3 81 9 23
## 92 7 49 10.3 69 9 24
## 93 14 274 10.9 68 5 14
## 94 NA 259 10.9 93 6 11
## 95 NA 101 10.9 84 7 4
## 96 40 314 10.9 83 7 6
## 97 31 244 10.9 78 8 19
## 98 20 252 10.9 80 9 7
## 99 21 230 10.9 75 9 9
## 100 9 24 10.9 71 9 14
## 101 18 313 11.5 62 5 4
## 102 14 334 11.5 64 5 16
## 103 30 322 11.5 68 5 19
## 104 39 323 11.5 87 6 10
## 105 NA 322 11.5 79 6 15
## 106 12 120 11.5 73 6 19
## 107 NA 98 11.5 80 6 28
## 108 63 220 11.5 85 7 20
## 109 NA 295 11.5 82 7 23
## 110 NA 137 11.5 86 8 11
## 111 44 192 11.5 86 8 12
## 112 28 273 11.5 82 8 13
## 113 NA 64 11.5 79 8 15
## 114 13 112 11.5 71 9 15
## 115 20 223 11.5 68 9 30
## 116 34 307 12.0 66 5 17
## 117 32 92 12.0 61 5 24
## 118 23 13 12.0 67 5 28
## 119 52 82 12.0 86 7 27
## 120 12 149 12.6 74 5 3
## 121 NA 255 12.6 75 8 23
## 122 13 238 12.6 64 9 21
## 123 18 65 13.2 58 5 15
## 124 NA 145 13.2 77 9 27
## 125 19 99 13.8 59 5 8
## 126 71 291 13.8 90 6 9
## 127 NA 332 13.8 80 6 14
## 128 9 24 13.8 81 8 2
## 129 18 224 13.8 67 9 17
## 130 NA NA 14.3 56 5 5
## 131 NA 264 14.3 79 6 6
## 132 10 264 14.3 73 7 12
## 133 7 48 14.3 80 7 15
## 134 9 36 14.3 72 8 22
## 135 14 191 14.3 75 9 28
## 136 28 NA 14.9 66 5 6
## 137 NA 266 14.9 58 5 26
## 138 45 252 14.9 81 5 29
## 139 21 191 14.9 77 6 16
## 140 NA 31 14.9 77 6 29
## 141 27 175 14.9 81 7 13
## 142 NA 291 14.9 91 7 14
## 143 44 236 14.9 81 9 11
## 144 21 259 15.5 77 8 21
## 145 32 92 15.5 84 9 6
## 146 21 259 15.5 76 9 12
## 147 NA 242 16.1 67 6 3
## 148 11 320 16.6 73 5 22
## 149 NA 66 16.6 57 5 25
## 150 14 20 16.6 63 9 25
## 151 6 78 18.4 57 5 18
## 152 8 19 20.1 61 5 9
## 153 37 284 20.7 72 6 17
Filter
Perintah filter berfungsi untuk menyeleksi atau memilih baris berdasarkan ketentuan tertentu.
airquality %>% filter(Day>15)## Ozone Solar.R Wind Temp Month Day
## 1 14 334 11.5 64 5 16
## 2 34 307 12.0 66 5 17
## 3 6 78 18.4 57 5 18
## 4 30 322 11.5 68 5 19
## 5 11 44 9.7 62 5 20
## 6 1 8 9.7 59 5 21
## 7 11 320 16.6 73 5 22
## 8 4 25 9.7 61 5 23
## 9 32 92 12.0 61 5 24
## 10 NA 66 16.6 57 5 25
## 11 NA 266 14.9 58 5 26
## 12 NA NA 8.0 57 5 27
## 13 23 13 12.0 67 5 28
## 14 45 252 14.9 81 5 29
## 15 115 223 5.7 79 5 30
## 16 37 279 7.4 76 5 31
## 17 21 191 14.9 77 6 16
## 18 37 284 20.7 72 6 17
## 19 20 37 9.2 65 6 18
## 20 12 120 11.5 73 6 19
## 21 13 137 10.3 76 6 20
## 22 NA 150 6.3 77 6 21
## 23 NA 59 1.7 76 6 22
## 24 NA 91 4.6 76 6 23
## 25 NA 250 6.3 76 6 24
## 26 NA 135 8.0 75 6 25
## 27 NA 127 8.0 78 6 26
## 28 NA 47 10.3 73 6 27
## 29 NA 98 11.5 80 6 28
## 30 NA 31 14.9 77 6 29
## 31 NA 138 8.0 83 6 30
## 32 48 260 6.9 81 7 16
## 33 35 274 10.3 82 7 17
## 34 61 285 6.3 84 7 18
## 35 79 187 5.1 87 7 19
## 36 63 220 11.5 85 7 20
## 37 16 7 6.9 74 7 21
## 38 NA 258 9.7 81 7 22
## 39 NA 295 11.5 82 7 23
## 40 80 294 8.6 86 7 24
## 41 108 223 8.0 85 7 25
## 42 20 81 8.6 82 7 26
## 43 52 82 12.0 86 7 27
## 44 82 213 7.4 88 7 28
## 45 50 275 7.4 86 7 29
## 46 64 253 7.4 83 7 30
## 47 59 254 9.2 81 7 31
## 48 22 71 10.3 77 8 16
## 49 59 51 6.3 79 8 17
## 50 23 115 7.4 76 8 18
## 51 31 244 10.9 78 8 19
## 52 44 190 10.3 78 8 20
## 53 21 259 15.5 77 8 21
## 54 9 36 14.3 72 8 22
## 55 NA 255 12.6 75 8 23
## 56 45 212 9.7 79 8 24
## 57 168 238 3.4 81 8 25
## 58 73 215 8.0 86 8 26
## 59 NA 153 5.7 88 8 27
## 60 76 203 9.7 97 8 28
## 61 118 225 2.3 94 8 29
## 62 84 237 6.3 96 8 30
## 63 85 188 6.3 94 8 31
## 64 46 237 6.9 78 9 16
## 65 18 224 13.8 67 9 17
## 66 13 27 10.3 76 9 18
## 67 24 238 10.3 68 9 19
## 68 16 201 8.0 82 9 20
## 69 13 238 12.6 64 9 21
## 70 23 14 9.2 71 9 22
## 71 36 139 10.3 81 9 23
## 72 7 49 10.3 69 9 24
## 73 14 20 16.6 63 9 25
## 74 30 193 6.9 70 9 26
## 75 NA 145 13.2 77 9 27
## 76 14 191 14.3 75 9 28
## 77 18 131 8.0 76 9 29
## 78 20 223 11.5 68 9 30
Mutate
mutate adalah perintah yang dapat membuat kolom baru dari kolom yang sudah ada.
airquality %>% mutate(Calendar=Month+Day)## Ozone Solar.R Wind Temp Month Day Calendar
## 1 41 190 7.4 67 5 1 6
## 2 36 118 8.0 72 5 2 7
## 3 12 149 12.6 74 5 3 8
## 4 18 313 11.5 62 5 4 9
## 5 NA NA 14.3 56 5 5 10
## 6 28 NA 14.9 66 5 6 11
## 7 23 299 8.6 65 5 7 12
## 8 19 99 13.8 59 5 8 13
## 9 8 19 20.1 61 5 9 14
## 10 NA 194 8.6 69 5 10 15
## 11 7 NA 6.9 74 5 11 16
## 12 16 256 9.7 69 5 12 17
## 13 11 290 9.2 66 5 13 18
## 14 14 274 10.9 68 5 14 19
## 15 18 65 13.2 58 5 15 20
## 16 14 334 11.5 64 5 16 21
## 17 34 307 12.0 66 5 17 22
## 18 6 78 18.4 57 5 18 23
## 19 30 322 11.5 68 5 19 24
## 20 11 44 9.7 62 5 20 25
## 21 1 8 9.7 59 5 21 26
## 22 11 320 16.6 73 5 22 27
## 23 4 25 9.7 61 5 23 28
## 24 32 92 12.0 61 5 24 29
## 25 NA 66 16.6 57 5 25 30
## 26 NA 266 14.9 58 5 26 31
## 27 NA NA 8.0 57 5 27 32
## 28 23 13 12.0 67 5 28 33
## 29 45 252 14.9 81 5 29 34
## 30 115 223 5.7 79 5 30 35
## 31 37 279 7.4 76 5 31 36
## 32 NA 286 8.6 78 6 1 7
## 33 NA 287 9.7 74 6 2 8
## 34 NA 242 16.1 67 6 3 9
## 35 NA 186 9.2 84 6 4 10
## 36 NA 220 8.6 85 6 5 11
## 37 NA 264 14.3 79 6 6 12
## 38 29 127 9.7 82 6 7 13
## 39 NA 273 6.9 87 6 8 14
## 40 71 291 13.8 90 6 9 15
## 41 39 323 11.5 87 6 10 16
## 42 NA 259 10.9 93 6 11 17
## 43 NA 250 9.2 92 6 12 18
## 44 23 148 8.0 82 6 13 19
## 45 NA 332 13.8 80 6 14 20
## 46 NA 322 11.5 79 6 15 21
## 47 21 191 14.9 77 6 16 22
## 48 37 284 20.7 72 6 17 23
## 49 20 37 9.2 65 6 18 24
## 50 12 120 11.5 73 6 19 25
## 51 13 137 10.3 76 6 20 26
## 52 NA 150 6.3 77 6 21 27
## 53 NA 59 1.7 76 6 22 28
## 54 NA 91 4.6 76 6 23 29
## 55 NA 250 6.3 76 6 24 30
## 56 NA 135 8.0 75 6 25 31
## 57 NA 127 8.0 78 6 26 32
## 58 NA 47 10.3 73 6 27 33
## 59 NA 98 11.5 80 6 28 34
## 60 NA 31 14.9 77 6 29 35
## 61 NA 138 8.0 83 6 30 36
## 62 135 269 4.1 84 7 1 8
## 63 49 248 9.2 85 7 2 9
## 64 32 236 9.2 81 7 3 10
## 65 NA 101 10.9 84 7 4 11
## 66 64 175 4.6 83 7 5 12
## 67 40 314 10.9 83 7 6 13
## 68 77 276 5.1 88 7 7 14
## 69 97 267 6.3 92 7 8 15
## 70 97 272 5.7 92 7 9 16
## 71 85 175 7.4 89 7 10 17
## 72 NA 139 8.6 82 7 11 18
## 73 10 264 14.3 73 7 12 19
## 74 27 175 14.9 81 7 13 20
## 75 NA 291 14.9 91 7 14 21
## 76 7 48 14.3 80 7 15 22
## 77 48 260 6.9 81 7 16 23
## 78 35 274 10.3 82 7 17 24
## 79 61 285 6.3 84 7 18 25
## 80 79 187 5.1 87 7 19 26
## 81 63 220 11.5 85 7 20 27
## 82 16 7 6.9 74 7 21 28
## 83 NA 258 9.7 81 7 22 29
## 84 NA 295 11.5 82 7 23 30
## 85 80 294 8.6 86 7 24 31
## 86 108 223 8.0 85 7 25 32
## 87 20 81 8.6 82 7 26 33
## 88 52 82 12.0 86 7 27 34
## 89 82 213 7.4 88 7 28 35
## 90 50 275 7.4 86 7 29 36
## 91 64 253 7.4 83 7 30 37
## 92 59 254 9.2 81 7 31 38
## 93 39 83 6.9 81 8 1 9
## 94 9 24 13.8 81 8 2 10
## 95 16 77 7.4 82 8 3 11
## 96 78 NA 6.9 86 8 4 12
## 97 35 NA 7.4 85 8 5 13
## 98 66 NA 4.6 87 8 6 14
## 99 122 255 4.0 89 8 7 15
## 100 89 229 10.3 90 8 8 16
## 101 110 207 8.0 90 8 9 17
## 102 NA 222 8.6 92 8 10 18
## 103 NA 137 11.5 86 8 11 19
## 104 44 192 11.5 86 8 12 20
## 105 28 273 11.5 82 8 13 21
## 106 65 157 9.7 80 8 14 22
## 107 NA 64 11.5 79 8 15 23
## 108 22 71 10.3 77 8 16 24
## 109 59 51 6.3 79 8 17 25
## 110 23 115 7.4 76 8 18 26
## 111 31 244 10.9 78 8 19 27
## 112 44 190 10.3 78 8 20 28
## 113 21 259 15.5 77 8 21 29
## 114 9 36 14.3 72 8 22 30
## 115 NA 255 12.6 75 8 23 31
## 116 45 212 9.7 79 8 24 32
## 117 168 238 3.4 81 8 25 33
## 118 73 215 8.0 86 8 26 34
## 119 NA 153 5.7 88 8 27 35
## 120 76 203 9.7 97 8 28 36
## 121 118 225 2.3 94 8 29 37
## 122 84 237 6.3 96 8 30 38
## 123 85 188 6.3 94 8 31 39
## 124 96 167 6.9 91 9 1 10
## 125 78 197 5.1 92 9 2 11
## 126 73 183 2.8 93 9 3 12
## 127 91 189 4.6 93 9 4 13
## 128 47 95 7.4 87 9 5 14
## 129 32 92 15.5 84 9 6 15
## 130 20 252 10.9 80 9 7 16
## 131 23 220 10.3 78 9 8 17
## 132 21 230 10.9 75 9 9 18
## 133 24 259 9.7 73 9 10 19
## 134 44 236 14.9 81 9 11 20
## 135 21 259 15.5 76 9 12 21
## 136 28 238 6.3 77 9 13 22
## 137 9 24 10.9 71 9 14 23
## 138 13 112 11.5 71 9 15 24
## 139 46 237 6.9 78 9 16 25
## 140 18 224 13.8 67 9 17 26
## 141 13 27 10.3 76 9 18 27
## 142 24 238 10.3 68 9 19 28
## 143 16 201 8.0 82 9 20 29
## 144 13 238 12.6 64 9 21 30
## 145 23 14 9.2 71 9 22 31
## 146 36 139 10.3 81 9 23 32
## 147 7 49 10.3 69 9 24 33
## 148 14 20 16.6 63 9 25 34
## 149 30 193 6.9 70 9 26 35
## 150 NA 145 13.2 77 9 27 36
## 151 14 191 14.3 75 9 28 37
## 152 18 131 8.0 76 9 29 38
## 153 20 223 11.5 68 9 30 39
Summarise
Perintah summarise berfungsi untuk meringkas atau mengagregasi baris data. Digunakan fungsi group_by agar informasi yang dicetak lebih mudah dianalisis.
airquality %>% group_by(Temp) %>%
summarise (avg_ozone=mean(Ozone))## # A tibble: 40 x 2
## Temp avg_ozone
## <int> <dbl>
## 1 56 NA
## 2 57 NA
## 3 58 NA
## 4 59 10
## 5 61 14.7
## 6 62 14.5
## 7 63 14
## 8 64 13.5
## 9 65 21.5
## 10 66 24.3
## # ... with 30 more rows
Melakukan kelima perintah secara bersamaan
Kita dapat melakukan perintah kelima perintah secara bersamaan untuk mempersingkat program.
airquality %>% select(Ozone, Solar.R, Wind, Temp, Month, Day) %>%
arrange(desc(Wind)) %>%
filter(Day>15) %>%
mutate(Calendar=Month+Day) %>%
summarise (avg_wind=mean(Wind))## avg_wind
## 1 9.933333