我想使用starts_with()函数识别变量,然后进行case_when变异。
例如,假设我想要执行以下操作的等效操作:
mtcars$mpg[mtcars$mpg == 21.0] <- 5; mtcars
My attempt:
mtcars %>%
mutate_at(
vars(starts_with("mpg")),
funs(. = case_when(
. == 21.0 ~ 5,
TRUE ~ .
))
)
我做错了什么?dplyr文档似乎没有许多mutate_at/mutate_each的示例(这个帖子中也有相同的投诉),所以我很难使用这些函数。也许我没有找对地方吗?
我知道这个帖子,但里面没有解决方案。
谢谢!
dplyr
语法,更具体地涉及到mutate/summarize
at/if/all/
和funs
。 - PsidomRstudio
,例如,您可以使用?mutate_at
命令,阅读文档并尝试下面的示例。例如,最后一个示例中的注释指出:如果 .funs 具有名称或多个输入,则将包括函数名称,这也适用于您的情况。 - Psidom