This function powers pull() and various functions of the tidyr package. It is similar to select_vars() but returns only one column name and has slightly different semantics: it allows negative numbers to select columns from the end.

select_var(vars, var = -1)



A character vector of existing column names.


A variable specified as:

  • a literal variable name

  • a positive integer, giving the position counting from the left

  • a negative integer, giving the position counting from the right.

The default returns the last column (on the assumption that's the column you've created most recently).

This argument is taken by expression and supports quasiquotation (you can unquote column names and column positions).


The selected column name as an unnamed string.

See also

pull(), select_vars()


# It takes its argument by expression: select_var(letters, c)
#> [1] "c"
# Negative numbers select from the end: select_var(letters, -3)
#> [1] "x"
# You can unquote variables: var <- 10 select_var(letters, !! var)
#> [1] "j"