J'ai actuellement 2 data.frame et je souhaiterai faire une correspondance, et un remplissage automatique de ma nouvelle colonne lorsqu'il y a une correspondance, sans utiliser un merge.
Mais comme d'habitude, ma boucle ne fonctionne pas...
Voici mon df1 :
Code : Tout sélectionner
cip13 cip7 ucd13 ucd7 nom_court
1 3400930000649 3000064 NA A 313 50000UI CAPSULE 30
2 3400930001479 3000147 NA A 313 A LA TYROTHRICINE POMMADE TUBE 50G 1/50 G
3 3400930139448 3013944 NA ABACAVIR MYLAN 300 MG 60 CPR
4 3400930089958 3008995 NA ABACAVIR SANDOZ 300 MG CPR 60
5 3400930059968 3005996 NA ABACAVIR/LAM EG 600 MG/300 MG CPR 30
6 3400930076972 3007697 NA ABACAVIR/LAMIVUDINE AUTHOU 600 MG/300 MG 30 COMPRIMES
et mon df2 :
Code : Tout sélectionner
nir_ano_17 eta_num rsa_num adm_nbr ucd_ucd_cod
115 AD8PBPXEDQK4BUJ6D 590782165 7294 2 3400893475966
116 AD8PBPXEDQK4BUJ6D 590782165 7459 2 3400893475966
117 PW59HFBD670XD80XD 590782165 9586 3 3400893001813
118 XJ1XUAZUFAZCMGWWD 590782165 9593 1 3400893287880
119 XJ1XUAZUFAZCMGWWD 590782165 9593 6 3400893287880
120 WM0JC1XK21WNHZX1D 590782165 9959 1 3400893843734
Je recherche donc des correspondances entre mes colonnes ucd13 ou ucd7 de mon df1, et ma colonne ucd_ucd_ucd de mon df2.
Cette formule :
Code : Tout sélectionner
MCO_D[133,6] <- CIP[which(CIP[,4] %in% MCO_D[133,5]),5]
Code : Tout sélectionner
for (i in 1:353) {
if ((CIP[which(CIP[,4] %in% MCO_D[i,5]),5]) != 0)
{MCO_D[i,6] <- CIP[which(CIP[,4] %in% MCO_D[i,5]),5] }
else {MCO_D[i,6]<-0}
}
J'ai utilisé les chiffres 0 car il est possible que je n'ai aucune correspondance, mon df1 n'étant pas terminé.
L'un d'entre vous aurait il une idée pour corriger ma boucle?
Merci d'avance,
Anaïs