我正在尝试使用
sort_by()
对数据框中的列进行排序。我想指定使用外部向量对哪些列进行排序。我们可以看到以下作品。
# using the examples in the help section, this works
sort_by(mtcars, ~ list(am, mpg))
但是,我想使用变量向量,而不是每次都手动指定它们。我这样做是因为我正在编写一个自动对列进行排序的函数,但我不知道要对哪些列进行排序,因为它取决于函数中的参数。所以它会是这样的:
# make a vector of variables
name_vec <- c("am", "mpg")
# sort the data by the vector of variables
sort_by(mt_cars, ~ list(name_vec))
然而,这就是我这样做的结果:
我知道我可以使用 dplyr::arrange,如下所示:
dplyr::arrange(mtcars, dplyr::across(tidy select::all_of(vec_name)))
而不是 sort_by,但如果可能的话我宁愿使用基础包。
尝试像这样订阅:
sort_by(mtcars, mtcars[name_vec])