wizu
wizu

Reputation: 53

How to sort dataframe by using variablename

I want to sort an DataFrame by a column which is specified by an object.

What I want to do is

data <- dplyr::arrange(data, desc(`column_name`))

by replacing column_name to object like str_c("column_", "name") because I want to sort by condition.

Those codes does not work.

data <- dplyr::arrange(data, desc(str_c("column_", "name")))
data <- dplyr::arrange(data, desc(colnames(data[str_c("column_", "name")])))

My code returns

"Error: incorrect size (1) at position 1, expecting : columnlength"

Upvotes: 1

Views: 32

Answers (1)

akrun
akrun

Reputation: 887118

An option would be to convert to symbol and then evaluate (!!)

library(stringr)
dplyr::arrange(data, desc(!! rlang::sym(str_c("column_", "name"))))

Upvotes: 3

Related Questions