# So the second library() call doesn't show messages

Here we show the usage for the basic selection operators. See the specific help pages to learn about helpers like [starts_with()].

The selection language can be used in functions like dplyr::select() or tidyr::pivot_longer(). Let's first attach the tidyverse:


# For better printing
iris <- as_tibble(iris)

Select variables by name:

starwars %>% select(height)

iris %>% pivot_longer(Sepal.Length)

Select multiple variables by separating them with commas. Note how the order of columns is determined by the order of inputs:

starwars %>% select(homeworld, height, mass)

Functions like tidyr::pivot_longer() don't take variables with dots. In this case use c() to select multiple variables:

iris %>% pivot_longer(c(Sepal.Length, Petal.Length))


The : operator selects a range of consecutive variables:

starwars %>% select(name:mass)

The ! operator negates a selection:

starwars %>% select(!(name:mass))

iris %>% select(!c(Sepal.Length, Petal.Length))

iris %>% select(!ends_with("Width"))

& and | take the intersection or the union of two selections:

iris %>% select(starts_with("Petal") & ends_with("Width"))

iris %>% select(starts_with("Petal") | ends_with("Width"))

To take the difference between two selections, combine the & and ! operators:

iris %>% select(starts_with("Petal") & !ends_with("Width"))

Try the dplyr package in your browser

Any scripts or data that you put into this service are public.

dplyr documentation built on Nov. 17, 2023, 5:08 p.m.