Un de mes trame de données (DF1) a une colonne comme ceci:R fusionner deux trames de données, mais certaines valeurs ont deux points demi dans les
ID
AB
CD;EF
IJ
KL
MN
OP;WX
WW
YZ
L'autre trame de données (DF2) a le format suivant (c'est une table de données très grande):
myIDColumn someName somevalue
AB gsdfg 123
CD tfgsdfg 234
EF sfdgsf 365
GH gdfgb 53453
IJ sr 64564
KL sfsdv 4234234
MN ewrwe 5
OP dsfsss 3453
QR gggg 667
ST dss 7567
UV hhhhjf 55
WX dfadasad 8657
YZ ghfgh 1234
ABC gdgfg 234455
VCB hgjkk 5555667
Je voudrais fusionner les dataframes en fonction de mon DF1, mais comment puis-je résoudre le problème du point-virgule sur cette jointure paticular. Existe-t-il un moyen de joindre ces données à l'aide d'expressions régulières?
Ma sortie désirée:
ID someName somevalue AB gsdfg 123 CD;EF tfgsdfg,sfdgsf 234,365 IJ sr 64564 KL sfsdv 4234234 MN ewrwe 5 OP;WX dsfsss,dfadasad 3453,8657 WW YZ dfadasad 8657 TT
Toute aide est vraiment apprécié. Merci!
Merci pour ce code. Lorsque je l'essaie sur mes données réelles, j'obtiens l'erreur suivante: Erreur dans strsplit (mm $ UniProtID [grep (";", mm $ UniProtID)], ";"): argument non-caractère – RnD
Avez-vous essayé de le contraindre à caractère, 'mm $ UniProtID <- as.character (mm $ UniProtID)' – agstudy
merci .. qui a résolu le problème, mais comme je débogue plus loin, je reçois cette erreur: Erreur dans '[<-. data.frame' ('* tmp *', grep (";", mm $ UniProtID),, valeur = c ("P05386; P05387",: remplacement a 6 articles, besoin de 10 – RnD