如何将名称向量添加到基 R 中的 `sort_by()`

问题描述 投票:0回答:1

我正在尝试使用

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))

然而,这就是我这样做的结果:

image of a data.frame

我知道我可以使用 dplyr::arrange,如下所示:

dplyr::arrange(mtcars, dplyr::across(tidy select::all_of(vec_name)))

而不是 sort_by,但如果可能的话我宁愿使用基础包。

r dataframe
1个回答
0
投票

尝试像这样订阅:

sort_by(mtcars, mtcars[name_vec])
© www.soinside.com 2019 - 2024. All rights reserved.