【发布时间】:2017-10-27 03:02:16
【问题描述】:
我正在尝试在 dplyr 中执行一项应结合非标准和标准评估的任务,但我找不到方便的解决方案。我想根据 data.frame 中的另一列重新排序一个级别(可视化所需):
df <- data.frame(A = c(1,2,5,4), B = c("A", "B", "C","D"))
levels(df$B)
df2 <- df %>% mutate(B = factor(B, levels = unique(B)[order(A, decreasing = FALSE)]))
levels(df$B)
到目前为止,一切都很好。但现在我想做完全相同的任务,但 B 是函数的输入:
ReorderFactor <- function(column_name){
df2 <- df %>% mutate(column_name = factor(column_name, levels = unique(column_name)[order(A, decreasing = FALSE)]))
return(df2)
}
ReorderFactor(column_name = "B")
所以我想结合标准和非标准评估。我正在寻找一种 dplyr 方法。
【问题讨论】: