我想用case_when
within mutate_at
,如下例所示:
mtcars %>%
mutate_at(.vars = vars(vs, am),
.funs = funs(case_when(
. %in% c(1,0,9) ~ TRUE
. %in% c(2,20,200) ~ FALSE
TRUE ~ as.character(.)
)))
替代版本使用. =
in funs()
打电话也不起作用。
mtcars %>%
mutate_at(.vars = vars(vs, am),
.funs = funs(. = case_when(
. %in% c(1, 0, 9) ~ TRUE
. %in% c(2, 20, 200) ~ FALSE
TRUE ~ as.character(.)
)))
期望的结果
mtcars %>%
mutate_at(.vars = vars(vs, am),
.funs = funs(ifelse(. %in% c(1, 0, 9), TRUE, FALSE)))
FALSE
可以用第二个代替ifelse()
调用,为了简洁起见我没有包含它。