Je cherche à modifier les valeurs de plusieurs colonnes d'un tibble à l'aide de tidyverse : je veux que les valeurs à 0 restent à 0 et celles différentes de 0 deviennent 1. Quand il n'y a qu'une seule colonne je sais comment faire avec la fonction ifelse, mais sur plusieurs colonnes je ne sais pas faire sans une boucle, et si je peux éviter une boucle sur 300 000 valeurs ça m'arrangerait...
Voilà un rapide exemple reproductible :
Code : Tout sélectionner
library(tidyverse)
exemple <- tibble(age = c(4,7,8,5.5), mut = c(0,0,"HK","PS1"), pos = c(0,"7",0,"GQ"))
# Je veux dans les colonnes "mut" et "pos" une variable binaire, sur une seule colonne je ferai
exemple <- exemple %>% mutate(mut=ifelse(mut=="0", 0, 1))
# mais je ne sais pas comment le faire sur plusieurs colonnes
J'ai déjà essayé avec la fonction mutate_at en précisant la position des colonnes, mais je ne sais pas ce que je devrais mettre en argument pour ifelse.
Merci d'avoir pour votre aide.
Nicolas