相关疑难解决方法(0)

在mutate_at中使用case_when

我想case_when在内部使用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(.)
            )))
Run Code Online (Sandbox Code Playgroud)

. =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(.)
            )))
Run Code Online (Sandbox Code Playgroud)

期望的结果

mtcars %>% 
  mutate_at(.vars = vars(vs, am),
         .funs = funs(ifelse(. %in% c(1, 0, 9), TRUE, FALSE)))
Run Code Online (Sandbox Code Playgroud)

FALSE可以用第二次 …

r dplyr mutate

5
推荐指数
1
解决办法
2061
查看次数

标签 统计

dplyr ×1

mutate ×1

r ×1