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

Ringkasan yang Dikelompokkan pada Transformasi Data

Misalkan kita ingin membuat tabel data yang memeringkat pabrikan mpgmenurut jarak tempuh bahan bakar rata-rata untuk setiap pabrikan. Ini akan memerlukan pengelompokan mobil berdasarkan manufacturernilai dan kemudian menghitung nilai rata-rata hwyuntuk setiap kelompok. Ini adalah contoh ringkasan yang dikelompokkan dan dilakukan dengan kombinasi fungsi group_bydan summarize. Begini cara melakukannya:

mpg %>%
  group_by(manufacturer) %>%
  summarize(average_highway_mileage = mean(hwy)) %>%
  arrange(desc(average_highway_mileage))
## # A tibble: 15 × 2
##    manufacturer average_highway_mileage
##    <chr>                          <dbl>
##  1 honda                           32.6
##  2 volkswagen                      29.2
##  3 hyundai                         26.9
##  4 audi                            26.4
##  5 pontiac                         26.4
##  6 subaru                          25.6
##  7 toyota                          24.9
##  8 nissan                          24.6
##  9 chevrolet                       21.9
## 10 ford                            19.4
## 11 mercury                         18  
## 12 dodge                           17.9
## 13 jeep                            17.6
## 14 lincoln                         17  
## 15 land rover                      16.5

Beberapa catatan:

Anda juga dapat mengelompokkan berdasarkan lebih dari satu variabel. Misalkan kita ingin memberi peringkat jarak tempuh bahan bakar jalan raya berdasarkan pabrikan dan model:

mpg %>%
  group_by(manufacturer, model) %>%
  summarize(average_highway_mileage = mean(hwy)) %>%
  arrange(desc(average_highway_mileage))
## `summarise()` has grouped output by 'manufacturer'. You can override using the
## `.groups` argument.
## # A tibble: 38 × 3
## # Groups:   manufacturer [15]
##    manufacturer model        average_highway_mileage
##    <chr>        <chr>                          <dbl>
##  1 toyota       corolla                         34  
##  2 volkswagen   new beetle                      32.8
##  3 honda        civic                           32.6
##  4 volkswagen   jetta                           29.1
##  5 nissan       altima                          28.7
##  6 audi         a4                              28.3
##  7 toyota       camry                           28.3
##  8 toyota       camry solara                    28.1
##  9 hyundai      sonata                          27.7
## 10 chevrolet    malibu                          27.6
## # … with 28 more rows

meanhanyalah salah satu contoh ringkasan statistik yang dapat digunakan di dalam summarize. Berikut adalah beberapa yang lebih umum:

Ada banyak orang lain juga. Sangat mungkin untuk menghitung lebih dari satu statistik ringkasan dalam satu summarizepanggilan. Nyatanya, setiap kali Anda menghitung nilai rata-rata, sebaiknya hitung juga hitungannya. Ini karena membandingkan rata-rata benar-benar hanya sesuai ketika kelompok memiliki jumlah pengamatan yang kira-kira sama. Jika kita melakukan ini untuk contoh jarak tempuh jalan raya rata-rata di atas, kita mendapatkan:

mpg %>%
  group_by(manufacturer) %>%
  summarize(average_highway_mileage = mean(hwy),
            count = n()) %>%
  arrange(desc(average_highway_mileage))
## # A tibble: 15 × 3
##    manufacturer average_highway_mileage count
##    <chr>                          <dbl> <int>
##  1 honda                           32.6     9
##  2 volkswagen                      29.2    27
##  3 hyundai                         26.9    14
##  4 audi                            26.4    18
##  5 pontiac                         26.4     5
##  6 subaru                          25.6    14
##  7 toyota                          24.9    34
##  8 nissan                          24.6    13
##  9 chevrolet                       21.9    19
## 10 ford                            19.4    25
## 11 mercury                         18       4
## 12 dodge                           17.9    37
## 13 jeep                            17.6     8
## 14 lincoln                         17       3
## 15 land rover                      16.5     4

Oleh karena itu kami ingin menahan diri untuk tidak menyatakan bahwa Pontiac memiliki efisiensi bahan bakar yang lebih baik daripada Toyota karena Pontiac relatif kurang terwakili dalam kumpulan data.