La question précédente a été fermée, mais la solution facile ne semble pas fonctionner. J'ai donc expliqué ma question ici.
J'ai deux dataframes, DF1 et DF2. DF1 a beaucoup de données brutes, DF2 a des pointeurs basés sur "valeur_a" où regarder dans les données brutes. p> Je voudrais utiliser les valeurs dans DF2, pour recherche dans df1. Donc, pour chaque "identifiant", et c'est unique "valse_a" donné dans df2, recherchez la "valeur_b" et "value_c" correspondante dans df1, afin que je puisse générer un DF3 qui ressemble à ceci: p> Évidemment, j'ai des centaines de "id" à couvrir. Puisque je veux trouver plusieurs variables ("valse_b", "value_c" mais pas "value_d") est de manière proplique ce que je pense, mais cela jette une erreur: Je pensais également à utiliser Cordialement, P> Johan P> P> tire () code> ne fonctionnera pas car il ne tire qu'une variable.
Basé sur Cette page j'ai commencé à penser à joindre.
Un
innerjoin () code> ne fonctionne pas non plus, car je dois sélectionner plusieurs variables (ID & Value_a). La fusion comme celle-ci p>
erreur dans correction.by (by.x, x) : Objet 'valse_a' non trouvé code> p>
TAPPLY () code> mais je suis coincé à utiliser deux données différentes.frames. Est-ce que quelqu'un a une bonne idée sur la façon de s'attaquer à cela? P>
3 Réponses :
Je crois que cela peut résoudre votre problème. J'espère que cela aide:
merge(df2,df1,by.x=c('id','value_a'),by.y=c('id','value_a'),all.x=T) id value_a value_b value_c value_d 1 1 53 85 -2 6 2 2 45 95 1 14 3 3 47 101 2 24
Je crois que cela sera utile: sortie: p>
Les deux réponses du travail de canard et de CODEZ0MB1E, lors de l'ajout merci pour Les commentaires dans mon interprétation erroné propérable des deux %>%>%>% (ID, valeur_a, valeur_b, valeur_c) code> Ils donnent la sortie
innerjoin () code> et
fusionnent code>! p> p>