J'ai déjà posé cette question et j'ai reçu de l'aide. Cependant, je ne suis toujours pas capable d'effectuer ce que je voudrais. Je pense que c'est parce que je n'ai pas expliqué ce que je voudrais bien faire. Donc, je voudrais essayer à nouveau.Fusion de bases de données sur 2 colonnes, un nom et un nombre approximatif
Voici ce que j'aimerais faire. J'ai 2 ensembles de données
Data Set A
Name Number ValueA
1: A 125 16
2: B 1735 76
3: C 2985 22
4: D 3245 76
5: E 4211 22
Data Set B
Name Number ValueB
1: A 127 56
2: B 1789 84
3: C 2990 11
4: D 3247 36
5: F 4293 49
Je voudrais fusionner ces 2 données ensemble de base sur les colonnes de nom et le numéro, mais le nombre doit seulement être approximativement dans une plage définie par l'utilisateur. Par exemple: J'aimerais fusionner si le nombre est + - 10 (juste un exemple) l'un de l'autre. Dans l'ensemble de données A, le nom est A et le numéro est 125 Dans l'ensemble de données B, le nom est A et le nombre est 127 (qui est + -10 sur 125)
Pour l'entrée 2 est différent Nom est B sur les deux, mais les chiffres ne sont pas + -10 de l'autre
Table fusionné:
Name Number ValueA ValueB
1: A 125 16 56
2: B 1735 76 NA
3: B 1789 NA 150
4: C 2985 22 11
5: D 3245 76 36
6: E 4211 22 NA
7: F 4293 NA 49
Toute aide sont grandement appréciés. Je vous remercie.
J'ai essayé quelque chose comme ceci: fusion (A, B, par = c (si (abs (un numéro B $ $ Nombre) <10) { "Name"} else { "Rt1"}), all = TRUE) bien sûr, cela n'a pas fonctionné ... je me demandais juste si certaines modifications sont apportées à la recommandation ci-dessus, cela fonctionnerait-il? – TCW
Il ne semble pas que votre numéro dans l'ensemble A corresponde réellement à votre numéro dans l'ensemble B pour les noms A, C ou D. . –