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

Memilih Kolom dalam Transformasi Data

Prosedur yang sangat umum saat menganalisis kumpulan data adalah membuang kolom yang tidak relevan dengan analisis Anda. Ini dilakukan dengan menggunakan selectfungsi. Misalnya, kita ingin mengurangi mpgkumpulan data sehingga variabel yang ditampilkan hanyalah manufacturermodeldispl, dan hwy:

select(mpg, manufacturer, model, displ, hwy)
## # A tibble: 234 × 4
##    manufacturer model      displ   hwy
##    <chr>        <chr>      <dbl> <int>
##  1 audi         a4           1.8    29
##  2 audi         a4           1.8    29
##  3 audi         a4           2      31
##  4 audi         a4           2      30
##  5 audi         a4           2.8    26
##  6 audi         a4           2.8    26
##  7 audi         a4           3.1    27
##  8 audi         a4 quattro   1.8    26
##  9 audi         a4 quattro   1.8    25
## 10 audi         a4 quattro   2      28
## # … with 224 more rows

Ada banyak fungsi “pembantu” bawaan yang tersedia di dalam select. Anda dapat membaca dokumentasi ( ?select) untuk melihatnya, tetapi ada beberapa yang sangat berguna. Pertama, seringkali lebih mudah untuk menentukan kolom yang tidak Anda inginkan. Sebagai contoh, misalkan kita ingin menyimpan setiap kolom dari mpgexception transdan drv:

select(mpg, -trans, -drv)
## # A tibble: 234 × 9
##    manufacturer model      displ  year   cyl   cty   hwy fl    class  
##    <chr>        <chr>      <dbl> <int> <int> <int> <int> <chr> <chr>  
##  1 audi         a4           1.8  1999     4    18    29 p     compact
##  2 audi         a4           1.8  1999     4    21    29 p     compact
##  3 audi         a4           2    2008     4    20    31 p     compact
##  4 audi         a4           2    2008     4    21    30 p     compact
##  5 audi         a4           2.8  1999     6    16    26 p     compact
##  6 audi         a4           2.8  1999     6    18    26 p     compact
##  7 audi         a4           3.1  2008     6    18    27 p     compact
##  8 audi         a4 quattro   1.8  1999     4    18    26 p     compact
##  9 audi         a4 quattro   1.8  1999     4    16    25 p     compact
## 10 audi         a4 quattro   2    2008     4    20    28 p     compact
## # … with 224 more rows

Ini juga berguna untuk menentukan kumpulan kolom agar tetap muncul secara berurutan . Misalnya, kita ingin menyimpan manufacturermodeldisplyear, dan cyl. Karena muncul dalam kolom berurutan, ada jalan pintas yang bisa kita gunakan untuk memilihnya:

select(mpg, manufacturer:cyl)
## # A tibble: 234 × 5
##    manufacturer model      displ  year   cyl
##    <chr>        <chr>      <dbl> <int> <int>
##  1 audi         a4           1.8  1999     4
##  2 audi         a4           1.8  1999     4
##  3 audi         a4           2    2008     4
##  4 audi         a4           2    2008     4
##  5 audi         a4           2.8  1999     6
##  6 audi         a4           2.8  1999     6
##  7 audi         a4           3.1  2008     6
##  8 audi         a4 quattro   1.8  1999     4
##  9 audi         a4 quattro   1.8  1999     4
## 10 audi         a4 quattro   2    2008     4
## # … with 224 more rows

Tentu saja, kita dapat menggunakan selectbersama dengan fungsi transformasi lainnya melalui pipe. Mari urutkan Chevrolets dalam mpgurutan menurun jarak tempuh bahan bakar kota dan hanya tampilkan model mobil, ukuran mesin, tahun, jumlah silinder, jenis transmisi, dan jarak tempuh kota:

mpg %>%
  filter(manufacturer == "chevrolet") %>%
  arrange(desc(cty)) %>%
  select(model:trans, cty)
## # A tibble: 19 × 6
##    model              displ  year   cyl trans        cty
##    <chr>              <dbl> <int> <int> <chr>      <int>
##  1 malibu               2.4  2008     4 auto(l4)      22
##  2 malibu               2.4  1999     4 auto(l4)      19
##  3 malibu               3.1  1999     6 auto(l4)      18
##  4 malibu               3.5  2008     6 auto(l4)      18
##  5 malibu               3.6  2008     6 auto(s6)      17
##  6 corvette             5.7  1999     8 manual(m6)    16
##  7 corvette             6.2  2008     8 manual(m6)    16
##  8 corvette             5.7  1999     8 auto(l4)      15
##  9 corvette             6.2  2008     8 auto(s6)      15
## 10 corvette             7    2008     8 manual(m6)    15
## 11 c1500 suburban 2wd   5.3  2008     8 auto(l4)      14
## 12 c1500 suburban 2wd   5.3  2008     8 auto(l4)      14
## 13 k1500 tahoe 4wd      5.3  2008     8 auto(l4)      14
## 14 k1500 tahoe 4wd      6.5  1999     8 auto(l4)      14
## 15 c1500 suburban 2wd   5.7  1999     8 auto(l4)      13
## 16 c1500 suburban 2wd   6    2008     8 auto(l4)      12
## 17 c1500 suburban 2wd   5.3  2008     8 auto(l4)      11
## 18 k1500 tahoe 4wd      5.3  2008     8 auto(l4)      11
## 19 k1500 tahoe 4wd      5.7  1999     8 auto(l4)      11