Bonjour,
je suis débutant en R (mais alors vraiment débutant^^), et je suis face à une (petite ?) colle.
J'ai deux tableaux, le premier (deux colonnes, à défaut de pouvoir faire un vrai tableau associatif ?) sert de référence pour remplir une colonne du second. En version raccourci, ça donne quelque chose comme :
id value ref1 ref2 id value a x aaa aab d x b x bbb bbc b x c y ccc ccd a d x ddd dde c e y eee eef e
L'idée serait de remplir la colonne "value" du second tableau (quand il n'y a pas déjà des infos), en prenant les infos "value" du premier, les deux étant liés par l'id (tous les ids ne se retrouvent pas de part et d'autres, donc il n'est pas possible de tout remplir).
C'est quelque chose qui serait peut-être plus simple en utilisant des tableaux associatifs (sous Perl par exemple), mais j'aimerais savoir si c'est faisable sous R (dans le sens pas plus compliqué qu'avec Perl par exemple) (et je fais tout mon travail sur R, ça m’embêterait de changer de langage juste pour un détail).
J'avoue ne pas trop savoir comment commencer. Je serais bien parti sur un for, mais ça impliquerait une boucle dans une boucle (à moins qu'il existe un genre de if(exists), mais ça c'est chouette à utiliser avec un tableau associatif), et j'ai lu que R n'était vraiment pas le top pour boucler... Sachant qu'il s'agit de tableaux avec plusieurs dizaines de milliers de lignes.
Et je lis en même temps que les fonctions de la famille apply serait utile, mais j'ai du mal à saisir le fonctionnement pour l'instant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for (i in 1:nrow(montableau2)) if (montableau2$id == montableau1$id) # évidemment que ça ne marche pas, c'est juste pour l'idée. J'ai dit débutant^^ montableau2$value <- montableau1$value
Bref, merci d'avance, ne serait-ce que pour une piste.
Partager