J'ai créé un igraph avec 1000 arêtes. Mon but est d'extraire tous les triangles trouvés dans cette igraph mais d'inclure l'étiquette plutôt que juste le nombre. Je veux aussi qu'il soit sous forme de trame de données qui a 3 colonnes (un pour chaque nœud du triangle)Extrait tous les triangles en Igraph avec des étiquettes
J'ai essayé simplement d'appeler:
triangles(graph)
et qui donne une liste de retour avec les noms tous dans une colonne:
+ 28431/204 vertices, named:
[1] node_a
[2] node_b
[3] node_c
[4] node_a
[5] node_b
[6] node_d
[7] node_a
[8] node_b
[9] node_e
[10] node_a
+ ... omitted several vertices
Lorsque je tente:
adjacent.triangles(graph)
il retourne tous les numéros, mais n ot les noms des noeuds:
[1] 15 103 45 121 152 78 325 325 3 35 90 0 488 283 3 0 325 325 325 325 78 21 190 3
[25] 133 0 47 167 167 6 3 325 505 415 0 36 78 325 78 78 90 6 206 6 36 0 78 49
Je dois trouver une fonction par igraph qui peut me donner les triangles dans le format suivant:
COL1 COL2 COL3
node_a node_b node_c
node_a node_b node_d
node_a node_b node_e
node_f node_g node_h
Toute aide serait génial, merci!
Je vous remercie. Est-ce que je ferais juste une correspondance d'index pour voir ce que les étiquettes sont? –
Oui, vous pouvez faire quelque chose comme, lapply (cl.tri, fonction (x) {V (g) $ noms [x]}) avant de créer la trame de données ou, s'appliquent (df, 2, fonction (x) {V (g) $ noms [x]}) après. Il y a peut-être un moyen de faire en sorte que les cliques puissent renvoyer directement les étiquettes, mais je ne suis pas sûr. –
C'était un bon début, merci. Quand j'ai essayé cela, une erreur est survenue quand j'ai lancé le fichier df = data.frame (matrice (unlist (cl.tri), ncol = 3, byrow = T)) J'ai essayé la première fonction –