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";
Displaying records 1 - 10
CustomerId FirstName LastName Company Address City State Country PostalCode Phone Fax Email SupportRepId
16 Frank Harris Google Inc. 1600 Amphitheatre Parkway Mountain View CA USA 94043-1351 +1 (650) 253-0000 +1 (650) 253-0000 4
17 Jack Smith Microsoft Corporation 1 Microsoft Way Redmond WA USA 98052-8300 +1 (425) 882-8080 +1 (425) 882-8081 5
18 Michelle Brooks NA 627 Broadway New York NY USA 10012-2612 +1 (212) 221-3546 +1 (212) 221-4679 3
19 Tim Goyer Apple Inc. 1 Infinite Loop Cupertino CA USA 95014 +1 (408) 996-1010 +1 (408) 996-1011 3
20 Dan Miller NA 541 Del Medio Avenue Mountain View CA USA 94040-111 +1 (650) 644-3358 NA 4
21 Kathy Chase NA 801 W 4th Street Reno NV USA 89503 +1 (775) 223-7665 NA 5
22 Heather Leacock NA 120 S Orange Ave Orlando FL USA 32801 +1 (407) 999-7788 NA 4
23 John Gordon NA 69 Salem Street Boston MA USA 2113 +1 (617) 522-1333 NA 4
24 Frank Ralston NA 162 E Superior Street Chicago IL USA 60611 +1 (312) 332-3232 NA 3
25 Victor Stevens NA 319 N. Frances Street Madison WI USA 53703 +1 (608) 257-0597 NA 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)
airquality

Select

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