J'ai la question suivante:Colonnes de correspondance, création de boucle dans R
J'ai une trame de données qui ressemble à ceci. J'ai des prix, 3 X et 2 R.
Date Name Price Interest
01.02.10 X 120 0.2
01.02.10 R 120 0.3
01.02.10 X 130 0.8
01.02.10 X 140 0.4
01.02.10 R 130 0.2
etc.
Je voudrais dire R à rechercher des paires de X & Rs avec le même prix, et supprimer le reste. Donc cela devrait aboutir: 2 X et 2'R (dans ce cas).
Date Name Price Interest
01.02.10 X 120 0.2
01.02.10 R 120 0.3
01.02.10 X 130 0.8
01.02.10 R 130 0.2
etc.
Pour le rendre plus clair (j'espère): J'ai beaucoup de prix différents pour chaque date. Chaque rangée contient un X ou un R. Il y a beaucoup de paires à chaque date, par exemple X, Prix = 120 & R, Prix = 120 à la Date 1. Mais il y a aussi des Prix qui ne correspondent qu'à un Nom, par exemple il y a un Prix = 140 seulement pour Nom = X. Donc ce que je voudrais faire, c'est: vérifier les noms de machting pour un prix (c'est-à-dire qu'il existe le même prix pour un X et un R) et supprimer le reste. Ce qui en résulterait, c'est le même nombre de X et de R parce que je cherche des paires.
Je suis désolé de ne pas pouvoir poster quelque chose que j'ai essayé. Je ne pouvais tout simplement pas penser à quoi que ce soit.
Maintenant, au prochain problème: Si les paires sont là, je voudrais dire à R de vérifier chaque ligne. Si le nom est X, je veux qu'il calcule un nouveau prix, sinon imprimez simplement le prix existant. J'ai essayé
xx <- if(Name == "X"){Price + 100*interest} else print{Price}
mais cela n'a pas fonctionné.
Merci pour l'aide
Vive Dani
Vous devez mieux expliquer la logique de la première partie. "Rechercher des paires de Nom et Prix" n'a aucun sens pour moi. Pour la deuxième partie, vous pouvez utiliser 'ifelse()' au lieu de 'if() ... else', puisque le premier est vectorisé. – Shane
Ok merci. Je voudrais rechercher des correspondances pour les prix et les noms. J'ai donc beaucoup de dates dans mon cadre de données, qui ont soit le nom X ou R. Pour chaque date, j'ai aussi des observations de prix. Maintenant, pour chaque date, il devrait y avoir exactement sur la paire de X et R pour un prix, par ex. Date 1, x, prix = 120 et Date 1, r, prix = 120. Il y a d'autres observations qui ne correspondent pas, par exemple Date 1, x, prix = 140 alors qu'il y a NO Date 1, r, prix = 140. Je voudrais dire à R de vérifier les correspondances (c.-à-d. X & R avec le même prix à chaque date) et supprimer le reste. Est-ce plus clair maintenant? Merci Shane – Dani
Cela en fait un problème de fusion. Vous "fusionnez" sur Date et Nom, puis comparez (test d'égalité) x.Prix et y.Prix. –