【发布时间】:2017-12-19 13:19:37
【问题描述】:
我想在mutate_at 中使用case_when,如下例所示:
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(.)
)))
在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() 调用,为简洁起见,我没有包括在内。
【问题讨论】: