library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.2.2
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6      ✔ purrr   0.3.5 
## ✔ tibble  3.1.8      ✔ dplyr   1.0.10
## ✔ tidyr   1.2.1      ✔ stringr 1.4.1 
## ✔ readr   2.1.4      ✔ forcats 0.5.2
## Warning: package 'readr' was built under R version 4.2.3
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(nycflights13)
## Warning: package 'nycflights13' was built under R version 4.2.3
library(Lahman)
## Warning: package 'Lahman' was built under R version 4.2.3

Menyortir Kumpulan Data

Fungsi yang digunakan untuk mengurutkan kumpulan data adalah arrange. Misalnya, kita ingin mengurutkan pengamatan mpgsesuai dengan jarak tempuh bahan bakar jalan raya:

arrange(mpg, hwy)
## # A tibble: 234 × 11
##    manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
##    <chr>        <chr>      <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
##  1 dodge        dakota pi…   4.7  2008     8 auto… 4         9    12 e     pick…
##  2 dodge        durango 4…   4.7  2008     8 auto… 4         9    12 e     suv  
##  3 dodge        ram 1500 …   4.7  2008     8 auto… 4         9    12 e     pick…
##  4 dodge        ram 1500 …   4.7  2008     8 manu… 4         9    12 e     pick…
##  5 jeep         grand che…   4.7  2008     8 auto… 4         9    12 e     suv  
##  6 chevrolet    k1500 tah…   5.3  2008     8 auto… 4        11    14 e     suv  
##  7 jeep         grand che…   6.1  2008     8 auto… 4        11    14 p     suv  
##  8 chevrolet    c1500 sub…   5.3  2008     8 auto… r        11    15 e     suv  
##  9 chevrolet    k1500 tah…   5.7  1999     8 auto… 4        11    15 r     suv  
## 10 dodge        dakota pi…   5.2  1999     8 auto… 4        11    15 r     pick…
## # … with 224 more rows

Anda dapat melihat bahwa secara default, arrangemengurutkan pengamatan dalam urutan menaik . Untuk mengurutkan dalam urutan menurun, lakukan hal berikut:

arrange(mpg, desc(hwy))
## # A tibble: 234 × 11
##    manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
##    <chr>        <chr>      <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
##  1 volkswagen   jetta        1.9  1999     4 manu… f        33    44 d     comp…
##  2 volkswagen   new beetle   1.9  1999     4 manu… f        35    44 d     subc…
##  3 volkswagen   new beetle   1.9  1999     4 auto… f        29    41 d     subc…
##  4 toyota       corolla      1.8  2008     4 manu… f        28    37 r     comp…
##  5 honda        civic        1.8  2008     4 auto… f        25    36 r     subc…
##  6 honda        civic        1.8  2008     4 auto… f        24    36 c     subc…
##  7 toyota       corolla      1.8  1999     4 manu… f        26    35 r     comp…
##  8 toyota       corolla      1.8  2008     4 auto… f        26    35 r     comp…
##  9 honda        civic        1.8  2008     4 manu… f        26    34 r     subc…
## 10 honda        civic        1.6  1999     4 manu… f        28    33 r     subc…
## # … with 224 more rows

Anda juga dapat menyertakan variabel “tie-breaker” di arrange. Perhatikan bahwa Volkswagen Jetta dan manual Volkswagen New Beetle terikat untuk jarak tempuh jalan raya terbaik. Mari gunakan jarak tempuh kota (dalam urutan menurun) sebagai pemecah ikatan. Anda hanya perlu menambahkan variabel tie-breaker sebagai argumen ketiga di dalam arrange:

arrange(mpg, desc(hwy), desc(cty))
## # A tibble: 234 × 11
##    manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
##    <chr>        <chr>      <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
##  1 volkswagen   new beetle   1.9  1999     4 manu… f        35    44 d     subc…
##  2 volkswagen   jetta        1.9  1999     4 manu… f        33    44 d     comp…
##  3 volkswagen   new beetle   1.9  1999     4 auto… f        29    41 d     subc…
##  4 toyota       corolla      1.8  2008     4 manu… f        28    37 r     comp…
##  5 honda        civic        1.8  2008     4 auto… f        25    36 r     subc…
##  6 honda        civic        1.8  2008     4 auto… f        24    36 c     subc…
##  7 toyota       corolla      1.8  1999     4 manu… f        26    35 r     comp…
##  8 toyota       corolla      1.8  2008     4 auto… f        26    35 r     comp…
##  9 honda        civic        1.8  2008     4 manu… f        26    34 r     subc…
## 10 honda        civic        1.6  1999     4 manu… f        28    33 r     subc…
## # … with 224 more rows

Kami juga dapat mengurutkan berdasarkan fungsi dari variabel atau variabel. Misalnya, kita ingin mengurutkan mpgdata menurut perbedaan antara jarak tempuh bahan bakar jalan raya dan kota (dalam urutan menurun). Kami hanya perlu menggunakan hwy - ctysebagai variabel sortir:

arrange(mpg, desc(hwy - cty))
## # A tibble: 234 × 11
##    manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
##    <chr>        <chr>      <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
##  1 honda        civic        1.8  2008     4 auto… f        24    36 c     subc…
##  2 volkswagen   new beetle   1.9  1999     4 auto… f        29    41 d     subc…
##  3 audi         a4           1.8  1999     4 auto… f        18    29 p     comp…
##  4 audi         a4           2    2008     4 manu… f        20    31 p     comp…
##  5 chevrolet    malibu       3.5  2008     6 auto… f        18    29 r     mids…
##  6 honda        civic        1.8  2008     4 auto… f        25    36 r     subc…
##  7 volkswagen   jetta        1.9  1999     4 manu… f        33    44 d     comp…
##  8 volkswagen   passat       1.8  1999     4 auto… f        18    29 p     mids…
##  9 audi         a4           2.8  1999     6 auto… f        16    26 p     comp…
## 10 audi         a4 quattro   2.8  1999     6 auto… 4        15    25 p     comp…
## # … with 224 more rows

Honda Civic 2008 dengan demikian memiliki perbedaan terbesar antara jarak tempuh bahan bakar kota dan jalan raya.