Salut!

Je travaille sur un data frame que je voudrais par la suite utiliser comme base de données. Pour le contexte, je dois récupérer des données sur des gènes à partir d'expériences de microarray, comme par exemple le symbole du gène, l'identifiant sonde, le GB_acc, le titre du gène, et son identifiant en base de données (entrez, unigene... en fonction de ce qui est dispo).

Je vous mets un exemple de deux morceaux de tableaux que j'obtiens à partir de 2 expériences différentes sur des technologies différentes:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Tableau1
ID	GeneSymbol	GeneTitle	                                                                                      GBAcc
4	Prr13 	        proline rich 13	                                                                                    NM_025385
9	Pla2g4d	        phospholipase A2, group IVD	                                                                    NM_001024137
10	Tmem59l     	transmembrane protein 59-like	                                                                    NM_182991
15	Spty2d1	        SPT2, Suppressor of Ty, domain containing 1 (S. cerevisiae)	                                    NM_175318
25829	Copg  	        coatomer protein complex, subunit gamma	                                                            NM_017477
11826	Atp6v0d1	ATPase, H+ transporting, lysosomal V0 subunit D1	                                            NM_013477
12269	Iigp1	        interferon inducible GTPase 1	                                                                    NM_001146275
12943	Agpat1	        1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha)	    NM_001163379
 
Tableau2
ID	     GeneSymbol	        GeneTitle	                                                                                 GBAcc	       ENTREZ
1415670_at	Copg	     coatomer protein complex, subunit gamma	                                                         BC024686	54161
1415671_at	Atp6v0d      ATPase, H+ transporting, lysosomal V0 subunit D1	                                                 NM_013477	11972
1415672_at	Golga7	     golgi autoantigen, golgin subfamily a, 7	                                                         NM_020585	57437
1415673_at	Psph	     phosphoserine phosphatase	                                                                         NM_133900	100678
1423686_a_at	Prr13        proline rich 13	                                                                                 BC016234	66151
1421024_at	Agpat1	     1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha)	 BB524140	55979
1421025_at	Agpat1	     1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha)	 BB524140	55979
J'ai utilisé la fonction merge et j'obtiens le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
GeneTitle	                                                                                   ID.x         GeneSymbol.x	GBAcc.x	       ENTREZ   ID.y    GeneSymbol.y    GBAcc.y
1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha)	1421024_at	Agpat1	       BB524140	        55979	12943	Agpat1	        NM_001163379
1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha)	1421025_at	Agpat1	       BB524140	        55979	12943	Agpat1	        NM_001163379
ATPase, H+ transporting, lysosomal V0 subunit D1	                                        1415671_at	Atp6v0d1       NM_013477	11972	11826	Atp6v0d1	NM_013477
coatomer protein complex, subunit gamma	                                                        1415670_at	Copg	       BC024686      	54161	25829	Copg	        NM_017477
proline rich 13	                                                                                1423686_a_at	Prr13	       BC016234	        66151	  4	Prr13	        NM_025385
D'un côté j'obtiens bien ce que je veux : ce sous-tableau mergé ne me renvoie que les entrées GeneTitle en commun entre les deux tableaux.
Maintenant mon problème c'est, dans cet exemple, le cas de Agpat1 que l'on retrouve avec 2 identifiants de sonde différents pour une même technologie.

Ce que je voudrais faire à ce moment-là (et par la suite je pense que ça sera le même principe pour des noms de gènes, ou des symboles)
c'est transformer ces deux lignes Agpat1 pour avoir le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Avant (Extrait)
GeneTitle	                                                                                   ID.x	       GeneSymbol.x    GBAcc.x     ENTREZ     ID.y     GeneSymbol.y     GBAcc.y
1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha)	1421024_at     Agpat1          BB524140    55979      12943      Agpat1      NM_001163379
1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha)	1421025_at     Agpat1          BB524140    55979      12943      Agpat1      NM_001163379
Après (le changement d'ordre des colonnes est involontaire, il n'a pas d'importance dans mon cas)
ID.x                     ID.y    GeneSymbol  GeneTitle                                                                                        GBAcc    ENTREZ
1421024_at,1421025_at   12943    Agpat1      1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha)    BB524140 55979
Et j'avoue que je ne vois pas comment faire. Est-ce que quelqu'un aurait une idée?

Merci d'avance!