我正在尝试做一些非常简单的事情,但却无法找出正确的指定方式.我只想从中排除一些命名列mutate_at.如果我指定位置,它工作正常,但我不想硬编码位置.
例如,我想要相同的输出:
mtcars %>% mutate_at(-c(1, 2), max)
Run Code Online (Sandbox Code Playgroud)
但是,通过指定mpg和cyl列名称.
我尝试了很多东西,包括:
mtcars %>% mutate_at(-c('mpg', 'cyl'), max)
Run Code Online (Sandbox Code Playgroud)
有没有办法处理名称和排除mutate_at?
Mar*_*ius 42
您可以使用它vars来指定列,其工作方式select()与使用相同,并允许您使用-以下方法排除列:
mtcars %>% mutate_at(vars(-mpg, -cyl), max)
Run Code Online (Sandbox Code Playgroud)
一种选择是将字符串传递到内部 one_of
mtcars %>%
mutate_at(vars(-one_of("mpg", "cyl")), max)
Run Code Online (Sandbox Code Playgroud)