Bonjour,
Je cherche à créer un dictionnaire pour rendre plus rapide certaines affectations sous R, un peu comme sur d'autres langages (Python).
Voici un exemple :Ici, le data.frame DF contient une seule colonne : X.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DF=data.frame(X=c(1,4,6,3,1,1,5,2)) Dico=list(X=c(1,2,3,4,5),Y=c('A','Y','C','K','U')) DF$Y <- Dico[Dico[['X']]==DF$X,'Y']
Et j'essaie de créer la colonne Y en récupérant la valeur dans le dictionnaire Dico.
La variable X contient aussi une valeur (6) non présente dans le dictionnaire. Mon objectif est que le code retourne NA s'il ne trouve pas la valeur idoine.
Mais l'exécution de ce code génère une erreur non liée à cette valeur inconnue du dictionnaire, et qui provient du fait que la dimension de mon dictionnaire n'est pas égale à celle de ma table.
Quelqu'un connaitrait-il la méthode adéquate (sans passer par l'instruction ifelse(), qui n'est pas très élégante, et surtout lente sur de grands tableaux de données) ?
Partager