mpg2

library(ggplot2)
Warning: package 'ggplot2' was built under R version 4.3.1
library(dplyr)
Warning: package 'dplyr' was built under R version 4.3.1

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

group_by

mpg_group <- mpg %>% 
  group_by(manufacturer, year)
mpg_group %>%
  filter(manufacturer == "audi") %>% select(manufacturer, year, displ)
# A tibble: 18 × 3
# Groups:   manufacturer, year [2]
   manufacturer  year displ
   <chr>        <int> <dbl>
 1 audi          1999   1.8
 2 audi          1999   1.8
 3 audi          2008   2  
 4 audi          2008   2  
 5 audi          1999   2.8
 6 audi          1999   2.8
 7 audi          2008   3.1
 8 audi          1999   1.8
 9 audi          1999   1.8
10 audi          2008   2  
11 audi          2008   2  
12 audi          1999   2.8
13 audi          1999   2.8
14 audi          2008   3.1
15 audi          2008   3.1
16 audi          1999   2.8
17 audi          2008   3.1
18 audi          2008   4.2
mpg_group %>%
  transmute(displ_rank = rank(displ, ties.method = "max"))
# A tibble: 234 × 3
# Groups:   manufacturer, year [30]
   manufacturer  year displ_rank
   <chr>        <int>      <int>
 1 audi          1999          4
 2 audi          1999          4
 3 audi          2008          4
 4 audi          2008          4
 5 audi          1999          9
 6 audi          1999          9
 7 audi          2008          8
 8 audi          1999          4
 9 audi          1999          4
10 audi          2008          4
# ℹ 224 more rows
mpg_group %>%
  filter(n() >= 20)
# A tibble: 41 × 11
# Groups:   manufacturer, year [2]
   manufacturer model      displ  year   cyl trans drv     cty   hwy fl    class
   <chr>        <chr>      <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
 1 dodge        caravan 2…   3.3  2008     6 auto… f        17    24 r     mini…
 2 dodge        caravan 2…   3.3  2008     6 auto… f        17    24 r     mini…
 3 dodge        caravan 2…   3.3  2008     6 auto… f        11    17 e     mini…
 4 dodge        caravan 2…   3.8  2008     6 auto… f        16    23 r     mini…
 5 dodge        caravan 2…   4    2008     6 auto… f        16    23 r     mini…
 6 dodge        dakota pi…   3.7  2008     6 manu… 4        15    19 r     pick…
 7 dodge        dakota pi…   3.7  2008     6 auto… 4        14    18 r     pick…
 8 dodge        dakota pi…   4.7  2008     8 auto… 4        14    19 r     pick…
 9 dodge        dakota pi…   4.7  2008     8 auto… 4        14    19 r     pick…
10 dodge        dakota pi…   4.7  2008     8 auto… 4         9    12 e     pick…
# ℹ 31 more rows
mpg_group %>%
  summarise(displ_max = max(displ), .groups = "drop")
# A tibble: 30 × 3
   manufacturer  year displ_max
   <chr>        <int>     <dbl>
 1 audi          1999       2.8
 2 audi          2008       4.2
 3 chevrolet     1999       6.5
 4 chevrolet     2008       7  
 5 dodge         1999       5.9
 6 dodge         2008       5.7
 7 ford          1999       5.4
 8 ford          2008       5.4
 9 honda         1999       1.6
10 honda         2008       2  
# ℹ 20 more rows