它似乎dplyr::case_when与dplyr::mutate调用中的其他命令不同.例如:
library(dplyr)
case_when(mtcars$carb <= 2 ~ "low",
mtcars$carb > 2 ~ "high") %>%
table
Run Code Online (Sandbox Code Playgroud)
作品:
.
high low
15 17
Run Code Online (Sandbox Code Playgroud)
但放入case_when一个mutate链:
mtcars %>%
mutate(cg = case_when(carb <= 2 ~ "low",
carb > 2 ~ "high"))
Run Code Online (Sandbox Code Playgroud)
你得到:
Error: object 'carb' not found
Run Code Online (Sandbox Code Playgroud)
虽然这很好
mtcars %>%
mutate(cg = carb %>%
cut(c(0, 2, 8)))
Run Code Online (Sandbox Code Playgroud)