Comment sous-ensemble de données à l'avance correspondance de chaîne
J'ai les données suivantes à l'image à partir de laquelle j'aimerais extraire les lignes en fonction de la correspondance des chaînes.
> GEMA_EO5
gene_symbol fold_EO p_value RefSeq_ID BH_p_value
KNG1 3.433049 8.56e-28 NM_000893,NM_001102416 1.234245e-24
REXO4 3.245317 1.78e-27 NM_020385 2.281367e-24
VPS29 3.827665 2.22e-25 NM_057180,NM_016226 2.560770e-22
CYP51A1 3.363149 5.95e-25 NM_000786,NM_001146152 6.239386e-22
TNPO2 4.707600 1.60e-23 NM_001136195,NM_001136196,NM_013433 1.538000e-20
NSDHL 2.703922 6.74e-23 NM_001129765,NM_015922 5.980454e-20
DPYSL2 5.097382 1.29e-22 NM_001386 1.062868e-19
Donc je voudrais extraire, par exemple deux lignes en fonction de la correspondance des chaînes dans $RefSeq_ID, qui fonctionne très bien avec les éléments suivants:
> list<-c("NM_001386", "NM_020385")
> GEMA_EO6<-subset(GEMA_EO5, GEMA_EO5$RefSeq_ID %in% list, drop = TRUE)
> GEMA_EO6
gene_symbol fold_EO p_value RefSeq_ID BH_p_value
REXO4 3.245317 1.78e-27 NM_020385 2.281367e-24
DPYSL2 5.097382 1.29e-22 NM_001386 1.062868e-19
Mais certaines lignes ont plusieurs RefSeq_IDs séparés par des virgules, donc je suis à la recherche d'une façon générale, de dire si $RefSeq_ID contient un certain patron de la chaîne, puis sous-ensemble de la ligne.
OriginalL'auteur Toke Duce Krogager | 2012-10-11
Vous devez vous connecter pour publier un commentaire.
À faire de la reconnaissance partielle, vous aurez besoin d'utiliser des expressions régulières (voir
?grepl
). Voici une solution à votre problème particulier:De tester une séquence à un moment, nous venons de choisir un particulier de la seq id:
Pour tester de multiples gènes, nous utilisons la
|
opérateur:Donc
vous donner ce que vous voulez.
Oui, les chaînes sont séparées par "Rup"
OriginalL'auteur csgillespie
Une autre approche consiste à reconnaître les entrées en double dans
RefSeq_ID
comme une tentative pour représenter des données de deux tables de base dans un seul bloc de données. Donc, si la table d'origine estcsv
, puis normaliser les données dans deux tableset de reconnaître que la requête est une
subset
(sélectionnez) sur laRefSeq
table, suivi par unmerge
(join) avec Annoconduisant à
Peut-être le but est de fusionner avec un `Maître' de la table, puis
ou similaire.
OriginalL'auteur Martin Morgan