2010-09-14 2 views
2

Eh bien, je travaille avec le paquet igraph, et je voudrais choisir les bords par le nom que j'ai affecté à leur sommet, dans un petit exemple ..séquence de bord par nom de sommet

library(igraph) 

g <- barabasi.game(8) 

labels<-c("G1","G2","G3","T1","T2","T3","H1","H2") 

V(g)$name<-labels 

maintenant Ma liste de bord as cette forme

> E(g) 
Edge sequence: 

    [0] G2 -> G1 
    [1] G3 -> G2 
    [2] T1 -> G2 
    [3] T2 -> G3 
    [4] T3 -> G1 
    [5] H1 -> G1 
    [6] H2 -> H1 

ce que je veux maintenant est de trouver un moyen de, au lieu d'utiliser cette

E(g)[1%--%2] 

faire quelque chose de plus comme E (g) [G2% -% G1] (appeler le sommet par le nom que j'ai assigné), ou une manière équivalente de connaître certains attributs de bords par le nom du sommet impliqué.

+0

J'ai retagged votre question d'inclure '' r' et igraph'. Ne pas avoir de tag lié à un langage de programmation était probablement la raison pour laquelle votre question n'a été vue que deux fois (moi compris) depuis que vous l'avez demandé. –

Répondre

0

Cela n'est pas possible avec la branche 0.5 d'igraph, mais la version de développement (0.6) ajoute le support pour faire référence aux vertices en fonction de leur attribut name au lieu de leur ID numérique. Je ne suis pas sûr de savoir comment faire cela car je ne suis pas familier avec l'interface R. Essayez de vous abonner au igraph-help mailing list et posez la question car c'est définitivement quelque chose qui a été résolu récemment dans igraph 0.6.

0

Placez les noms de sommets entre guillemets. Cela donne une sortie identique à l'utilisation du numéro de vertex. Cela fonctionne dans igraph 0.7.1.

Par exemple:

> E(g)[1%--%8] 
Edge sequence: 
    e   
e [7] H2 -> G1 

> E(g)['H2'%--%'G1'] 
Edge sequence: 
    e   
e [7] H2 -> G1