使用dplyr case_when以编程方式
我想使用dplyr case_when并传递变量,但结果并不如预期。使用dplyr case_when以编程方式
例子:
library(dplyr) mtcars %>%
mutate(cg = case_when(carb <= 2 ~ "low",
carb > 2 ~ "high")) ---this works
然而,当我试图通过一个变量,它返回所有为 “低”
var <- quo(carb) mtcars %>%
mutate(cg = case_when(!!var <= 2 ~ "low",
!!var > 2 ~ "high"))
任何帮助,不胜感激!
回答:
这是操作问题的顺序,你需要使用括号:
quo_function <- function(df, var) { df %>%
mutate(cg = case_when((!!var) <= 2 ~ "low",
(!!var) > 2 ~ "high"))
}
看一看这篇文章this post。
以上是 使用dplyr case_when以编程方式 的全部内容, 来源链接: utcz.com/qa/258311.html