正确使用dplyr::arrange with dynamic sort by columns的方法
我试图弄清楚如何使用tidyverse动态排列数据帧。我以前使用arrange,但现在不推荐使用 还有一些细节。如果是数字,我需要安排降序;如果不是,则需要安排升序。我有内置的逻辑,但我不知道如何让这个工作安排 一些数据:正确使用dplyr::arrange with dynamic sort by columns的方法,r,tidyverse,R,Tidyverse,我试图弄清楚如何使用tidyverse动态排列数据帧。我以前使用arrange,但现在不推荐使用 还有一些细节。如果是数字,我需要安排降序;如果不是,则需要安排升序。我有内置的逻辑,但我不知道如何让这个工作安排 一些数据: library(tidyverse) dat <- tibble(`Project ID` = c(rep("Project A", 3), rep("Project B", 3), rep("Project C&quo
library(tidyverse)
dat <- tibble(`Project ID` = c(rep("Project A", 3), rep("Project B", 3), rep("Project C", 3)),
`Summary Col numeric` = c(50, 50, 20, 500, 500, 200, 3000, 1000, 3000),
`Summary Col alpha` = c("A", "B", "C", "A", "B", "C", "A", "B", "C"))
库(tidyverse)
dat也许您可以使用本文提出的解决方案。我们需要使用rlang
中的两个表达式,并通过执行此代码代码>:
dat %>% dplyr::arrange(!!rlang::parse_expr(sortOrder[1]),
!!rlang::parse_expr(sortOrder[2]))
编辑1
这将解决您的问题:
dplyr::arrange(!!!rlang::parse_exprs(sortOrder))
查找。谢谢。分拣机的长度可能会有所不同。所以我不能真的依赖魔法数字是的,就是这样。谢谢
dplyr::arrange(!!!rlang::parse_exprs(sortOrder))