web-dev-qa-db-fra.com

Exclure des colonnes par noms dans mutate_at dans dplyr

J'essaie de faire quelque chose de très simple, mais je n'arrive pas à trouver la bonne façon de le spécifier. Je souhaite simplement exclure certaines colonnes nommées de mutate_at. Cela fonctionne très bien si je spécifie la position, mais je ne veux pas coder en dur les positions.

Par exemple, je veux la même sortie que celle-ci:

mtcars %>% mutate_at(-c(1, 2), max)

Mais, en spécifiant les noms de colonne mpg et cyl.

J'ai essayé beaucoup de choses, notamment:

mtcars %>% mutate_at(-c('mpg', 'cyl'), max)

Existe-t-il un moyen de travailler avec les noms et l'exclusion dans mutate_at?

20
Gopala

Vous pouvez utiliser vars pour spécifier les colonnes, ce qui fonctionne de la même manière que select() et vous permet d'exclure des colonnes à l'aide de -:

mtcars %>% mutate_at(vars(-mpg, -cyl), max)
39
Marius