loading...

Functions for selecting, renaming, and extracting columns from a data frame.

These are SciViews::R versions of tidyverse functions with standard evaluation and formula-based non-standard evaluation (ending with underscore _). They work with data.frame, data.table, and tibbles.

Functions:

  • select_() - Select columns by name, position, or using tidy-select helpers

  • pull_() - Extract a single column as a vector

  • rename_() - Rename columns using new_name = old_name pairs

  • rename_with_() - Rename columns using a function

  • all_of() - Helper for selecting all specified columns (errors if missing)

select_(.data = (.), ...)

pull_(.data = (.), var = -1, name = NULL, ...)

rename_(.data = (.), ...)

rename_with_(.data = (.), .fn, .cols = ~everything(), ...)

all_of(x)

Arguments

.data

A data frame (data.frame, data.table, or tibble)

...

For select_() and rename_(): column names, positions, or tidy-select expressions. Use formulas for non-standard evaluation (e.g., ~starts_with("x")). For rename_(), provide pairs as new_name = old_name or new_name = ~old_name. For rename_with_(): additional arguments passed to .fn.

var

For pull_(): the column to extract. Can be a column name (as character), a formula with column name on RHS (e.g., ~mpg), a positive integer for position from left, or a negative integer for position from right. Default is -1 (last column).

name

For pull_(): optional column to use as names for the resulting vector. Specified the same way as var.

.fn

For rename_with_(): a function to apply to column names, or a formula expression using .x as the column names (e.g., ~toupper(.x)).

.cols

For rename_with_(): columns to rename. Use tidy-select syntax with formulas. Default is ~everything() (all columns).

x

For all_of(): a character vector of column names. All must exist or an error is raised.

Value

  • select_() returns a data frame with only the selected columns

  • pull_() returns a vector (named or unnamed depending on name parameter)

  • rename_() returns the data frame with renamed columns

  • rename_with_() returns the data frame with renamed columns

  • all_of() returns the input vector (used inside select/rename functions)

Examples

library(svTidy)
data(mtcars)

# Select specific columns by name
mtcars |> select_(~mpg, ~cyl, ~hp)
#>                      mpg cyl  hp
#> Mazda RX4           21.0   6 110
#> Mazda RX4 Wag       21.0   6 110
#> Datsun 710          22.8   4  93
#> Hornet 4 Drive      21.4   6 110
#> Hornet Sportabout   18.7   8 175
#> Valiant             18.1   6 105
#> Duster 360          14.3   8 245
#> Merc 240D           24.4   4  62
#> Merc 230            22.8   4  95
#> Merc 280            19.2   6 123
#> Merc 280C           17.8   6 123
#> Merc 450SE          16.4   8 180
#> Merc 450SL          17.3   8 180
#> Merc 450SLC         15.2   8 180
#> Cadillac Fleetwood  10.4   8 205
#> Lincoln Continental 10.4   8 215
#> Chrysler Imperial   14.7   8 230
#> Fiat 128            32.4   4  66
#> Honda Civic         30.4   4  52
#> Toyota Corolla      33.9   4  65
#> Toyota Corona       21.5   4  97
#> Dodge Challenger    15.5   8 150
#> AMC Javelin         15.2   8 150
#> Camaro Z28          13.3   8 245
#> Pontiac Firebird    19.2   8 175
#> Fiat X1-9           27.3   4  66
#> Porsche 914-2       26.0   4  91
#> Lotus Europa        30.4   4 113
#> Ford Pantera L      15.8   8 264
#> Ferrari Dino        19.7   6 175
#> Maserati Bora       15.0   8 335
#> Volvo 142E          21.4   4 109

# Select columns by position
mtcars |> select_(1, 3, 5)
#>                      mpg  disp drat
#> Mazda RX4           21.0 160.0 3.90
#> Mazda RX4 Wag       21.0 160.0 3.90
#> Datsun 710          22.8 108.0 3.85
#> Hornet 4 Drive      21.4 258.0 3.08
#> Hornet Sportabout   18.7 360.0 3.15
#> Valiant             18.1 225.0 2.76
#> Duster 360          14.3 360.0 3.21
#> Merc 240D           24.4 146.7 3.69
#> Merc 230            22.8 140.8 3.92
#> Merc 280            19.2 167.6 3.92
#> Merc 280C           17.8 167.6 3.92
#> Merc 450SE          16.4 275.8 3.07
#> Merc 450SL          17.3 275.8 3.07
#> Merc 450SLC         15.2 275.8 3.07
#> Cadillac Fleetwood  10.4 472.0 2.93
#> Lincoln Continental 10.4 460.0 3.00
#> Chrysler Imperial   14.7 440.0 3.23
#> Fiat 128            32.4  78.7 4.08
#> Honda Civic         30.4  75.7 4.93
#> Toyota Corolla      33.9  71.1 4.22
#> Toyota Corona       21.5 120.1 3.70
#> Dodge Challenger    15.5 318.0 2.76
#> AMC Javelin         15.2 304.0 3.15
#> Camaro Z28          13.3 350.0 3.73
#> Pontiac Firebird    19.2 400.0 3.08
#> Fiat X1-9           27.3  79.0 4.08
#> Porsche 914-2       26.0 120.3 4.43
#> Lotus Europa        30.4  95.1 3.77
#> Ford Pantera L      15.8 351.0 4.22
#> Ferrari Dino        19.7 145.0 3.62
#> Maserati Bora       15.0 301.0 3.54
#> Volvo 142E          21.4 121.0 4.11

# Select range of columns
mtcars |> select_(~mpg:hp)
#>                      mpg cyl  disp  hp
#> Mazda RX4           21.0   6 160.0 110
#> Mazda RX4 Wag       21.0   6 160.0 110
#> Datsun 710          22.8   4 108.0  93
#> Hornet 4 Drive      21.4   6 258.0 110
#> Hornet Sportabout   18.7   8 360.0 175
#> Valiant             18.1   6 225.0 105
#> Duster 360          14.3   8 360.0 245
#> Merc 240D           24.4   4 146.7  62
#> Merc 230            22.8   4 140.8  95
#> Merc 280            19.2   6 167.6 123
#> Merc 280C           17.8   6 167.6 123
#> Merc 450SE          16.4   8 275.8 180
#> Merc 450SL          17.3   8 275.8 180
#> Merc 450SLC         15.2   8 275.8 180
#> Cadillac Fleetwood  10.4   8 472.0 205
#> Lincoln Continental 10.4   8 460.0 215
#> Chrysler Imperial   14.7   8 440.0 230
#> Fiat 128            32.4   4  78.7  66
#> Honda Civic         30.4   4  75.7  52
#> Toyota Corolla      33.9   4  71.1  65
#> Toyota Corona       21.5   4 120.1  97
#> Dodge Challenger    15.5   8 318.0 150
#> AMC Javelin         15.2   8 304.0 150
#> Camaro Z28          13.3   8 350.0 245
#> Pontiac Firebird    19.2   8 400.0 175
#> Fiat X1-9           27.3   4  79.0  66
#> Porsche 914-2       26.0   4 120.3  91
#> Lotus Europa        30.4   4  95.1 113
#> Ford Pantera L      15.8   8 351.0 264
#> Ferrari Dino        19.7   6 145.0 175
#> Maserati Bora       15.0   8 301.0 335
#> Volvo 142E          21.4   4 121.0 109

# Use tidy-select helpers
mtcars |> select_(~starts_with("d"))
#>                      disp drat
#> Mazda RX4           160.0 3.90
#> Mazda RX4 Wag       160.0 3.90
#> Datsun 710          108.0 3.85
#> Hornet 4 Drive      258.0 3.08
#> Hornet Sportabout   360.0 3.15
#> Valiant             225.0 2.76
#> Duster 360          360.0 3.21
#> Merc 240D           146.7 3.69
#> Merc 230            140.8 3.92
#> Merc 280            167.6 3.92
#> Merc 280C           167.6 3.92
#> Merc 450SE          275.8 3.07
#> Merc 450SL          275.8 3.07
#> Merc 450SLC         275.8 3.07
#> Cadillac Fleetwood  472.0 2.93
#> Lincoln Continental 460.0 3.00
#> Chrysler Imperial   440.0 3.23
#> Fiat 128             78.7 4.08
#> Honda Civic          75.7 4.93
#> Toyota Corolla       71.1 4.22
#> Toyota Corona       120.1 3.70
#> Dodge Challenger    318.0 2.76
#> AMC Javelin         304.0 3.15
#> Camaro Z28          350.0 3.73
#> Pontiac Firebird    400.0 3.08
#> Fiat X1-9            79.0 4.08
#> Porsche 914-2       120.3 4.43
#> Lotus Europa         95.1 3.77
#> Ford Pantera L      351.0 4.22
#> Ferrari Dino        145.0 3.62
#> Maserati Bora       301.0 3.54
#> Volvo 142E          121.0 4.11
mtcars |> select_(~ends_with("p"))
#>                      disp  hp
#> Mazda RX4           160.0 110
#> Mazda RX4 Wag       160.0 110
#> Datsun 710          108.0  93
#> Hornet 4 Drive      258.0 110
#> Hornet Sportabout   360.0 175
#> Valiant             225.0 105
#> Duster 360          360.0 245
#> Merc 240D           146.7  62
#> Merc 230            140.8  95
#> Merc 280            167.6 123
#> Merc 280C           167.6 123
#> Merc 450SE          275.8 180
#> Merc 450SL          275.8 180
#> Merc 450SLC         275.8 180
#> Cadillac Fleetwood  472.0 205
#> Lincoln Continental 460.0 215
#> Chrysler Imperial   440.0 230
#> Fiat 128             78.7  66
#> Honda Civic          75.7  52
#> Toyota Corolla       71.1  65
#> Toyota Corona       120.1  97
#> Dodge Challenger    318.0 150
#> AMC Javelin         304.0 150
#> Camaro Z28          350.0 245
#> Pontiac Firebird    400.0 175
#> Fiat X1-9            79.0  66
#> Porsche 914-2       120.3  91
#> Lotus Europa         95.1 113
#> Ford Pantera L      351.0 264
#> Ferrari Dino        145.0 175
#> Maserati Bora       301.0 335
#> Volvo 142E          121.0 109
mtcars |> select_(~contains("a"))
#>                     drat am gear carb
#> Mazda RX4           3.90  1    4    4
#> Mazda RX4 Wag       3.90  1    4    4
#> Datsun 710          3.85  1    4    1
#> Hornet 4 Drive      3.08  0    3    1
#> Hornet Sportabout   3.15  0    3    2
#> Valiant             2.76  0    3    1
#> Duster 360          3.21  0    3    4
#> Merc 240D           3.69  0    4    2
#> Merc 230            3.92  0    4    2
#> Merc 280            3.92  0    4    4
#> Merc 280C           3.92  0    4    4
#> Merc 450SE          3.07  0    3    3
#> Merc 450SL          3.07  0    3    3
#> Merc 450SLC         3.07  0    3    3
#> Cadillac Fleetwood  2.93  0    3    4
#> Lincoln Continental 3.00  0    3    4
#> Chrysler Imperial   3.23  0    3    4
#> Fiat 128            4.08  1    4    1
#> Honda Civic         4.93  1    4    2
#> Toyota Corolla      4.22  1    4    1
#> Toyota Corona       3.70  0    3    1
#> Dodge Challenger    2.76  0    3    2
#> AMC Javelin         3.15  0    3    2
#> Camaro Z28          3.73  0    3    4
#> Pontiac Firebird    3.08  0    3    2
#> Fiat X1-9           4.08  1    4    1
#> Porsche 914-2       4.43  1    5    2
#> Lotus Europa        3.77  1    5    2
#> Ford Pantera L      4.22  1    5    4
#> Ferrari Dino        3.62  1    5    6
#> Maserati Bora       3.54  1    5    8
#> Volvo 142E          4.11  1    4    2

# Exclude columns with minus
mtcars |> select_(~-c(mpg, cyl))
#>                      disp  hp drat    wt  qsec vs am gear carb
#> Mazda RX4           160.0 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag       160.0 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710          108.0  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive      258.0 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout   360.0 175 3.15 3.440 17.02  0  0    3    2
#> Valiant             225.0 105 2.76 3.460 20.22  1  0    3    1
#> Duster 360          360.0 245 3.21 3.570 15.84  0  0    3    4
#> Merc 240D           146.7  62 3.69 3.190 20.00  1  0    4    2
#> Merc 230            140.8  95 3.92 3.150 22.90  1  0    4    2
#> Merc 280            167.6 123 3.92 3.440 18.30  1  0    4    4
#> Merc 280C           167.6 123 3.92 3.440 18.90  1  0    4    4
#> Merc 450SE          275.8 180 3.07 4.070 17.40  0  0    3    3
#> Merc 450SL          275.8 180 3.07 3.730 17.60  0  0    3    3
#> Merc 450SLC         275.8 180 3.07 3.780 18.00  0  0    3    3
#> Cadillac Fleetwood  472.0 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 460.0 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   440.0 230 3.23 5.345 17.42  0  0    3    4
#> Fiat 128             78.7  66 4.08 2.200 19.47  1  1    4    1
#> Honda Civic          75.7  52 4.93 1.615 18.52  1  1    4    2
#> Toyota Corolla       71.1  65 4.22 1.835 19.90  1  1    4    1
#> Toyota Corona       120.1  97 3.70 2.465 20.01  1  0    3    1
#> Dodge Challenger    318.0 150 2.76 3.520 16.87  0  0    3    2
#> AMC Javelin         304.0 150 3.15 3.435 17.30  0  0    3    2
#> Camaro Z28          350.0 245 3.73 3.840 15.41  0  0    3    4
#> Pontiac Firebird    400.0 175 3.08 3.845 17.05  0  0    3    2
#> Fiat X1-9            79.0  66 4.08 1.935 18.90  1  1    4    1
#> Porsche 914-2       120.3  91 4.43 2.140 16.70  0  1    5    2
#> Lotus Europa         95.1 113 3.77 1.513 16.90  1  1    5    2
#> Ford Pantera L      351.0 264 4.22 3.170 14.50  0  1    5    4
#> Ferrari Dino        145.0 175 3.62 2.770 15.50  0  1    5    6
#> Maserati Bora       301.0 335 3.54 3.570 14.60  0  1    5    8
#> Volvo 142E          121.0 109 4.11 2.780 18.60  1  1    4    2

# Select all numeric columns
mtcars |> select_(~where(is.numeric))
#>                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2

# Combine multiple selection methods
mtcars |> select_(~mpg, ~starts_with("d"), ~hp)
#>                      mpg  disp drat  hp
#> Mazda RX4           21.0 160.0 3.90 110
#> Mazda RX4 Wag       21.0 160.0 3.90 110
#> Datsun 710          22.8 108.0 3.85  93
#> Hornet 4 Drive      21.4 258.0 3.08 110
#> Hornet Sportabout   18.7 360.0 3.15 175
#> Valiant             18.1 225.0 2.76 105
#> Duster 360          14.3 360.0 3.21 245
#> Merc 240D           24.4 146.7 3.69  62
#> Merc 230            22.8 140.8 3.92  95
#> Merc 280            19.2 167.6 3.92 123
#> Merc 280C           17.8 167.6 3.92 123
#> Merc 450SE          16.4 275.8 3.07 180
#> Merc 450SL          17.3 275.8 3.07 180
#> Merc 450SLC         15.2 275.8 3.07 180
#> Cadillac Fleetwood  10.4 472.0 2.93 205
#> Lincoln Continental 10.4 460.0 3.00 215
#> Chrysler Imperial   14.7 440.0 3.23 230
#> Fiat 128            32.4  78.7 4.08  66
#> Honda Civic         30.4  75.7 4.93  52
#> Toyota Corolla      33.9  71.1 4.22  65
#> Toyota Corona       21.5 120.1 3.70  97
#> Dodge Challenger    15.5 318.0 2.76 150
#> AMC Javelin         15.2 304.0 3.15 150
#> Camaro Z28          13.3 350.0 3.73 245
#> Pontiac Firebird    19.2 400.0 3.08 175
#> Fiat X1-9           27.3  79.0 4.08  66
#> Porsche 914-2       26.0 120.3 4.43  91
#> Lotus Europa        30.4  95.1 3.77 113
#> Ford Pantera L      15.8 351.0 4.22 264
#> Ferrari Dino        19.7 145.0 3.62 175
#> Maserati Bora       15.0 301.0 3.54 335
#> Volvo 142E          21.4 121.0 4.11 109

# Use all_of() for programmatic selection
cols <- c("mpg", "cyl", "hp")
mtcars |> select_(~all_of(cols))
#> Error in select_(mtcars, ~all_of(cols)):  In argument: `all_of(cols)`.
#> Caused by error:
#> ! object 'cols' not found

# Pull a column as a vector (by name)
mtcars |> pull_(~mpg)
#>  [1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4
#> [16] 10.4 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7
#> [31] 15.0 21.4

# Pull by position (last column)
mtcars |> pull_(-1)
#>  [1] 4 4 1 1 2 1 4 2 2 4 4 3 3 3 4 4 4 1 2 1 1 2 2 4 2 1 2 2 4 6 8 2

# Pull first column
mtcars |> pull_(1)
#>  [1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4
#> [16] 10.4 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7
#> [31] 15.0 21.4

# Pull with names from another column
mtcars |> pull_(~mpg, name = ~cyl)
#>    6    6    4    6    8    6    8    4    4    6    6    8    8    8    8    8 
#> 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4 10.4 
#>    8    4    4    4    4    8    8    8    8    4    4    4    8    6    8    4 
#> 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7 15.0 21.4 

# Rename columns with new_name = old_name
mtcars |> rename_(miles_per_gallon = ~mpg, cylinders = ~cyl)
#>                     miles_per_gallon cylinders  disp  hp drat    wt  qsec vs am
#> Mazda RX4                       21.0         6 160.0 110 3.90 2.620 16.46  0  1
#> Mazda RX4 Wag                   21.0         6 160.0 110 3.90 2.875 17.02  0  1
#> Datsun 710                      22.8         4 108.0  93 3.85 2.320 18.61  1  1
#> Hornet 4 Drive                  21.4         6 258.0 110 3.08 3.215 19.44  1  0
#> Hornet Sportabout               18.7         8 360.0 175 3.15 3.440 17.02  0  0
#> Valiant                         18.1         6 225.0 105 2.76 3.460 20.22  1  0
#> Duster 360                      14.3         8 360.0 245 3.21 3.570 15.84  0  0
#> Merc 240D                       24.4         4 146.7  62 3.69 3.190 20.00  1  0
#> Merc 230                        22.8         4 140.8  95 3.92 3.150 22.90  1  0
#> Merc 280                        19.2         6 167.6 123 3.92 3.440 18.30  1  0
#> Merc 280C                       17.8         6 167.6 123 3.92 3.440 18.90  1  0
#> Merc 450SE                      16.4         8 275.8 180 3.07 4.070 17.40  0  0
#> Merc 450SL                      17.3         8 275.8 180 3.07 3.730 17.60  0  0
#> Merc 450SLC                     15.2         8 275.8 180 3.07 3.780 18.00  0  0
#> Cadillac Fleetwood              10.4         8 472.0 205 2.93 5.250 17.98  0  0
#> Lincoln Continental             10.4         8 460.0 215 3.00 5.424 17.82  0  0
#> Chrysler Imperial               14.7         8 440.0 230 3.23 5.345 17.42  0  0
#> Fiat 128                        32.4         4  78.7  66 4.08 2.200 19.47  1  1
#> Honda Civic                     30.4         4  75.7  52 4.93 1.615 18.52  1  1
#> Toyota Corolla                  33.9         4  71.1  65 4.22 1.835 19.90  1  1
#> Toyota Corona                   21.5         4 120.1  97 3.70 2.465 20.01  1  0
#> Dodge Challenger                15.5         8 318.0 150 2.76 3.520 16.87  0  0
#> AMC Javelin                     15.2         8 304.0 150 3.15 3.435 17.30  0  0
#> Camaro Z28                      13.3         8 350.0 245 3.73 3.840 15.41  0  0
#> Pontiac Firebird                19.2         8 400.0 175 3.08 3.845 17.05  0  0
#> Fiat X1-9                       27.3         4  79.0  66 4.08 1.935 18.90  1  1
#> Porsche 914-2                   26.0         4 120.3  91 4.43 2.140 16.70  0  1
#> Lotus Europa                    30.4         4  95.1 113 3.77 1.513 16.90  1  1
#> Ford Pantera L                  15.8         8 351.0 264 4.22 3.170 14.50  0  1
#> Ferrari Dino                    19.7         6 145.0 175 3.62 2.770 15.50  0  1
#> Maserati Bora                   15.0         8 301.0 335 3.54 3.570 14.60  0  1
#> Volvo 142E                      21.4         4 121.0 109 4.11 2.780 18.60  1  1
#>                     gear carb
#> Mazda RX4              4    4
#> Mazda RX4 Wag          4    4
#> Datsun 710             4    1
#> Hornet 4 Drive         3    1
#> Hornet Sportabout      3    2
#> Valiant                3    1
#> Duster 360             3    4
#> Merc 240D              4    2
#> Merc 230               4    2
#> Merc 280               4    4
#> Merc 280C              4    4
#> Merc 450SE             3    3
#> Merc 450SL             3    3
#> Merc 450SLC            3    3
#> Cadillac Fleetwood     3    4
#> Lincoln Continental    3    4
#> Chrysler Imperial      3    4
#> Fiat 128               4    1
#> Honda Civic            4    2
#> Toyota Corolla         4    1
#> Toyota Corona          3    1
#> Dodge Challenger       3    2
#> AMC Javelin            3    2
#> Camaro Z28             3    4
#> Pontiac Firebird       3    2
#> Fiat X1-9              4    1
#> Porsche 914-2          5    2
#> Lotus Europa           5    2
#> Ford Pantera L         5    4
#> Ferrari Dino           5    6
#> Maserati Bora          5    8
#> Volvo 142E             4    2

# Rename using column positions
mtcars |> rename_(miles_per_gallon = 1, cylinders = 2)
#>                     miles_per_gallon cylinders  disp  hp drat    wt  qsec vs am
#> Mazda RX4                       21.0         6 160.0 110 3.90 2.620 16.46  0  1
#> Mazda RX4 Wag                   21.0         6 160.0 110 3.90 2.875 17.02  0  1
#> Datsun 710                      22.8         4 108.0  93 3.85 2.320 18.61  1  1
#> Hornet 4 Drive                  21.4         6 258.0 110 3.08 3.215 19.44  1  0
#> Hornet Sportabout               18.7         8 360.0 175 3.15 3.440 17.02  0  0
#> Valiant                         18.1         6 225.0 105 2.76 3.460 20.22  1  0
#> Duster 360                      14.3         8 360.0 245 3.21 3.570 15.84  0  0
#> Merc 240D                       24.4         4 146.7  62 3.69 3.190 20.00  1  0
#> Merc 230                        22.8         4 140.8  95 3.92 3.150 22.90  1  0
#> Merc 280                        19.2         6 167.6 123 3.92 3.440 18.30  1  0
#> Merc 280C                       17.8         6 167.6 123 3.92 3.440 18.90  1  0
#> Merc 450SE                      16.4         8 275.8 180 3.07 4.070 17.40  0  0
#> Merc 450SL                      17.3         8 275.8 180 3.07 3.730 17.60  0  0
#> Merc 450SLC                     15.2         8 275.8 180 3.07 3.780 18.00  0  0
#> Cadillac Fleetwood              10.4         8 472.0 205 2.93 5.250 17.98  0  0
#> Lincoln Continental             10.4         8 460.0 215 3.00 5.424 17.82  0  0
#> Chrysler Imperial               14.7         8 440.0 230 3.23 5.345 17.42  0  0
#> Fiat 128                        32.4         4  78.7  66 4.08 2.200 19.47  1  1
#> Honda Civic                     30.4         4  75.7  52 4.93 1.615 18.52  1  1
#> Toyota Corolla                  33.9         4  71.1  65 4.22 1.835 19.90  1  1
#> Toyota Corona                   21.5         4 120.1  97 3.70 2.465 20.01  1  0
#> Dodge Challenger                15.5         8 318.0 150 2.76 3.520 16.87  0  0
#> AMC Javelin                     15.2         8 304.0 150 3.15 3.435 17.30  0  0
#> Camaro Z28                      13.3         8 350.0 245 3.73 3.840 15.41  0  0
#> Pontiac Firebird                19.2         8 400.0 175 3.08 3.845 17.05  0  0
#> Fiat X1-9                       27.3         4  79.0  66 4.08 1.935 18.90  1  1
#> Porsche 914-2                   26.0         4 120.3  91 4.43 2.140 16.70  0  1
#> Lotus Europa                    30.4         4  95.1 113 3.77 1.513 16.90  1  1
#> Ford Pantera L                  15.8         8 351.0 264 4.22 3.170 14.50  0  1
#> Ferrari Dino                    19.7         6 145.0 175 3.62 2.770 15.50  0  1
#> Maserati Bora                   15.0         8 301.0 335 3.54 3.570 14.60  0  1
#> Volvo 142E                      21.4         4 121.0 109 4.11 2.780 18.60  1  1
#>                     gear carb
#> Mazda RX4              4    4
#> Mazda RX4 Wag          4    4
#> Datsun 710             4    1
#> Hornet 4 Drive         3    1
#> Hornet Sportabout      3    2
#> Valiant                3    1
#> Duster 360             3    4
#> Merc 240D              4    2
#> Merc 230               4    2
#> Merc 280               4    4
#> Merc 280C              4    4
#> Merc 450SE             3    3
#> Merc 450SL             3    3
#> Merc 450SLC            3    3
#> Cadillac Fleetwood     3    4
#> Lincoln Continental    3    4
#> Chrysler Imperial      3    4
#> Fiat 128               4    1
#> Honda Civic            4    2
#> Toyota Corolla         4    1
#> Toyota Corona          3    1
#> Dodge Challenger       3    2
#> AMC Javelin            3    2
#> Camaro Z28             3    4
#> Pontiac Firebird       3    2
#> Fiat X1-9              4    1
#> Porsche 914-2          5    2
#> Lotus Europa           5    2
#> Ford Pantera L         5    4
#> Ferrari Dino           5    6
#> Maserati Bora          5    8
#> Volvo 142E             4    2

# Rename multiple columns
mtcars |>
  rename_(
    miles_per_gallon = ~mpg,
    cylinders = ~cyl,
    horsepower = ~hp
  )
#>                     miles_per_gallon cylinders  disp horsepower drat    wt
#> Mazda RX4                       21.0         6 160.0        110 3.90 2.620
#> Mazda RX4 Wag                   21.0         6 160.0        110 3.90 2.875
#> Datsun 710                      22.8         4 108.0         93 3.85 2.320
#> Hornet 4 Drive                  21.4         6 258.0        110 3.08 3.215
#> Hornet Sportabout               18.7         8 360.0        175 3.15 3.440
#> Valiant                         18.1         6 225.0        105 2.76 3.460
#> Duster 360                      14.3         8 360.0        245 3.21 3.570
#> Merc 240D                       24.4         4 146.7         62 3.69 3.190
#> Merc 230                        22.8         4 140.8         95 3.92 3.150
#> Merc 280                        19.2         6 167.6        123 3.92 3.440
#> Merc 280C                       17.8         6 167.6        123 3.92 3.440
#> Merc 450SE                      16.4         8 275.8        180 3.07 4.070
#> Merc 450SL                      17.3         8 275.8        180 3.07 3.730
#> Merc 450SLC                     15.2         8 275.8        180 3.07 3.780
#> Cadillac Fleetwood              10.4         8 472.0        205 2.93 5.250
#> Lincoln Continental             10.4         8 460.0        215 3.00 5.424
#> Chrysler Imperial               14.7         8 440.0        230 3.23 5.345
#> Fiat 128                        32.4         4  78.7         66 4.08 2.200
#> Honda Civic                     30.4         4  75.7         52 4.93 1.615
#> Toyota Corolla                  33.9         4  71.1         65 4.22 1.835
#> Toyota Corona                   21.5         4 120.1         97 3.70 2.465
#> Dodge Challenger                15.5         8 318.0        150 2.76 3.520
#> AMC Javelin                     15.2         8 304.0        150 3.15 3.435
#> Camaro Z28                      13.3         8 350.0        245 3.73 3.840
#> Pontiac Firebird                19.2         8 400.0        175 3.08 3.845
#> Fiat X1-9                       27.3         4  79.0         66 4.08 1.935
#> Porsche 914-2                   26.0         4 120.3         91 4.43 2.140
#> Lotus Europa                    30.4         4  95.1        113 3.77 1.513
#> Ford Pantera L                  15.8         8 351.0        264 4.22 3.170
#> Ferrari Dino                    19.7         6 145.0        175 3.62 2.770
#> Maserati Bora                   15.0         8 301.0        335 3.54 3.570
#> Volvo 142E                      21.4         4 121.0        109 4.11 2.780
#>                      qsec vs am gear carb
#> Mazda RX4           16.46  0  1    4    4
#> Mazda RX4 Wag       17.02  0  1    4    4
#> Datsun 710          18.61  1  1    4    1
#> Hornet 4 Drive      19.44  1  0    3    1
#> Hornet Sportabout   17.02  0  0    3    2
#> Valiant             20.22  1  0    3    1
#> Duster 360          15.84  0  0    3    4
#> Merc 240D           20.00  1  0    4    2
#> Merc 230            22.90  1  0    4    2
#> Merc 280            18.30  1  0    4    4
#> Merc 280C           18.90  1  0    4    4
#> Merc 450SE          17.40  0  0    3    3
#> Merc 450SL          17.60  0  0    3    3
#> Merc 450SLC         18.00  0  0    3    3
#> Cadillac Fleetwood  17.98  0  0    3    4
#> Lincoln Continental 17.82  0  0    3    4
#> Chrysler Imperial   17.42  0  0    3    4
#> Fiat 128            19.47  1  1    4    1
#> Honda Civic         18.52  1  1    4    2
#> Toyota Corolla      19.90  1  1    4    1
#> Toyota Corona       20.01  1  0    3    1
#> Dodge Challenger    16.87  0  0    3    2
#> AMC Javelin         17.30  0  0    3    2
#> Camaro Z28          15.41  0  0    3    4
#> Pontiac Firebird    17.05  0  0    3    2
#> Fiat X1-9           18.90  1  1    4    1
#> Porsche 914-2       16.70  0  1    5    2
#> Lotus Europa        16.90  1  1    5    2
#> Ford Pantera L      14.50  0  1    5    4
#> Ferrari Dino        15.50  0  1    5    6
#> Maserati Bora       14.60  0  1    5    8
#> Volvo 142E          18.60  1  1    4    2

# Rename all columns with a function
mtcars |> rename_with_(toupper)
#>                      MPG CYL  DISP  HP DRAT    WT  QSEC VS AM GEAR CARB
#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2

# Rename using a formula with .x
mtcars |> rename_with_(~paste0("var_", .x))
#>                     var_mpg var_cyl var_disp var_hp var_drat var_wt var_qsec
#> Mazda RX4              21.0       6    160.0    110     3.90  2.620    16.46
#> Mazda RX4 Wag          21.0       6    160.0    110     3.90  2.875    17.02
#> Datsun 710             22.8       4    108.0     93     3.85  2.320    18.61
#> Hornet 4 Drive         21.4       6    258.0    110     3.08  3.215    19.44
#> Hornet Sportabout      18.7       8    360.0    175     3.15  3.440    17.02
#> Valiant                18.1       6    225.0    105     2.76  3.460    20.22
#> Duster 360             14.3       8    360.0    245     3.21  3.570    15.84
#> Merc 240D              24.4       4    146.7     62     3.69  3.190    20.00
#> Merc 230               22.8       4    140.8     95     3.92  3.150    22.90
#> Merc 280               19.2       6    167.6    123     3.92  3.440    18.30
#> Merc 280C              17.8       6    167.6    123     3.92  3.440    18.90
#> Merc 450SE             16.4       8    275.8    180     3.07  4.070    17.40
#> Merc 450SL             17.3       8    275.8    180     3.07  3.730    17.60
#> Merc 450SLC            15.2       8    275.8    180     3.07  3.780    18.00
#> Cadillac Fleetwood     10.4       8    472.0    205     2.93  5.250    17.98
#> Lincoln Continental    10.4       8    460.0    215     3.00  5.424    17.82
#> Chrysler Imperial      14.7       8    440.0    230     3.23  5.345    17.42
#> Fiat 128               32.4       4     78.7     66     4.08  2.200    19.47
#> Honda Civic            30.4       4     75.7     52     4.93  1.615    18.52
#> Toyota Corolla         33.9       4     71.1     65     4.22  1.835    19.90
#> Toyota Corona          21.5       4    120.1     97     3.70  2.465    20.01
#> Dodge Challenger       15.5       8    318.0    150     2.76  3.520    16.87
#> AMC Javelin            15.2       8    304.0    150     3.15  3.435    17.30
#> Camaro Z28             13.3       8    350.0    245     3.73  3.840    15.41
#> Pontiac Firebird       19.2       8    400.0    175     3.08  3.845    17.05
#> Fiat X1-9              27.3       4     79.0     66     4.08  1.935    18.90
#> Porsche 914-2          26.0       4    120.3     91     4.43  2.140    16.70
#> Lotus Europa           30.4       4     95.1    113     3.77  1.513    16.90
#> Ford Pantera L         15.8       8    351.0    264     4.22  3.170    14.50
#> Ferrari Dino           19.7       6    145.0    175     3.62  2.770    15.50
#> Maserati Bora          15.0       8    301.0    335     3.54  3.570    14.60
#> Volvo 142E             21.4       4    121.0    109     4.11  2.780    18.60
#>                     var_vs var_am var_gear var_carb
#> Mazda RX4                0      1        4        4
#> Mazda RX4 Wag            0      1        4        4
#> Datsun 710               1      1        4        1
#> Hornet 4 Drive           1      0        3        1
#> Hornet Sportabout        0      0        3        2
#> Valiant                  1      0        3        1
#> Duster 360               0      0        3        4
#> Merc 240D                1      0        4        2
#> Merc 230                 1      0        4        2
#> Merc 280                 1      0        4        4
#> Merc 280C                1      0        4        4
#> Merc 450SE               0      0        3        3
#> Merc 450SL               0      0        3        3
#> Merc 450SLC              0      0        3        3
#> Cadillac Fleetwood       0      0        3        4
#> Lincoln Continental      0      0        3        4
#> Chrysler Imperial        0      0        3        4
#> Fiat 128                 1      1        4        1
#> Honda Civic              1      1        4        2
#> Toyota Corolla           1      1        4        1
#> Toyota Corona            1      0        3        1
#> Dodge Challenger         0      0        3        2
#> AMC Javelin              0      0        3        2
#> Camaro Z28               0      0        3        4
#> Pontiac Firebird         0      0        3        2
#> Fiat X1-9                1      1        4        1
#> Porsche 914-2            0      1        5        2
#> Lotus Europa             1      1        5        2
#> Ford Pantera L           0      1        5        4
#> Ferrari Dino             0      1        5        6
#> Maserati Bora            0      1        5        8
#> Volvo 142E               1      1        4        2

# Rename with string manipulation
mtcars |> rename_with_(~tolower(.x))
#>                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
mtcars |> rename_with_(~gsub("_", ".", .x))
#>                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2

# Rename only selected columns
mtcars |> rename_with_(toupper, .cols = ~starts_with("d"))
#>                      mpg cyl  DISP  hp DRAT    wt  qsec vs am gear carb
#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2

# Rename specific columns by name
mtcars |> rename_with_(toupper, .cols = c("mpg", "cyl", "hp"))
#>                      MPG CYL  disp  HP drat    wt  qsec vs am gear carb
#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2

# Chain operations
mtcars |>
  select_(~mpg, ~cyl, ~hp, ~wt) |>
  rename_(efficiency = ~mpg, weight = ~wt) |>
  arrange_(~cyl)
#>                     efficiency cyl  hp weight
#> Datsun 710                22.8   4  93  2.320
#> Merc 240D                 24.4   4  62  3.190
#> Merc 230                  22.8   4  95  3.150
#> Fiat 128                  32.4   4  66  2.200
#> Honda Civic               30.4   4  52  1.615
#> Toyota Corolla            33.9   4  65  1.835
#> Toyota Corona             21.5   4  97  2.465
#> Fiat X1-9                 27.3   4  66  1.935
#> Porsche 914-2             26.0   4  91  2.140
#> Lotus Europa              30.4   4 113  1.513
#> Volvo 142E                21.4   4 109  2.780
#> Mazda RX4                 21.0   6 110  2.620
#> Mazda RX4 Wag             21.0   6 110  2.875
#> Hornet 4 Drive            21.4   6 110  3.215
#> Valiant                   18.1   6 105  3.460
#> Merc 280                  19.2   6 123  3.440
#> Merc 280C                 17.8   6 123  3.440
#> Ferrari Dino              19.7   6 175  2.770
#> Hornet Sportabout         18.7   8 175  3.440
#> Duster 360                14.3   8 245  3.570
#> Merc 450SE                16.4   8 180  4.070
#> Merc 450SL                17.3   8 180  3.730
#> Merc 450SLC               15.2   8 180  3.780
#> Cadillac Fleetwood        10.4   8 205  5.250
#> Lincoln Continental       10.4   8 215  5.424
#> Chrysler Imperial         14.7   8 230  5.345
#> Dodge Challenger          15.5   8 150  3.520
#> AMC Javelin               15.2   8 150  3.435
#> Camaro Z28                13.3   8 245  3.840
#> Pontiac Firebird          19.2   8 175  3.845
#> Ford Pantera L            15.8   8 264  3.170
#> Maserati Bora             15.0   8 335  3.570

# Use in data pipeline
mtcars |>
  select_(~where(is.numeric)) |>
  rename_with_(tolower) |>
  filter_(~cyl > 4) |>
  pull_(~mpg)
#>  [1] 21.0 21.0 21.4 18.7 18.1 14.3 19.2 17.8 16.4 17.3 15.2 10.4 10.4 14.7 15.5
#> [16] 15.2 13.3 19.2 15.8 19.7 15.0