Problem
I want to string of a column name to dplyr::arrange
in a form am <- "cyl"
. The purpose is to sort by column cyl
.
Desired outcome
dplyr::arrange(mtcars, cyl)
Attempts
am <- "cyl"
1) rlang::quo
dplyr::arrange(mtcars, !!rlang::quo(am))
Sorted by am
not cyl
.
2) rang::ensym
dplyr::arrange(mtcars, !!rlang::ensym(am))
Sorted by am
not cyl
.
3) Culry Curly
dplyr::arrange(mtcars, {{am}})
Not sorted.
Background
In actual function I'm sorting data frame by index column I'm creating. The variable with column name is called index_column
. I want protect myself from, albeit highly unlikely, scenario of actual data containing index_column
. I could solve that using make.names
and scanning for unique column names but I'm more interested in solving the problem above.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…