Je ne suis pas sûr que le sujet entre dans l'intérêt de CrossValidated. Tu me dira.
Je dois étudier un graphique (à partir de la théorie des graphes ) ie. J'ai un certain nombre de points connectés. J'ai une table avec tous les points et les points dont chacun dépend. (J'ai aussi un autre tableau avec les implications)
Mes questions sont les suivantes: existe-
t-il un bon logiciel (ou un package R) pour étudier cela facilement?
Existe-t-il un moyen simple d'afficher le graphique?
r
data-visualization
graph-theory
RockScience
la source
la source
Réponses:
iGraph est une bibliothèque cross-language (R, Python, Ruby, C) très intéressante. Il vous permet de travailler avec des graphiques non dirigés et dirigés et dispose de plusieurs algorithmes d'analyse déjà implémentés.
la source
Il existe différents packages pour représenter les graphiques dirigés et non dirigés, la matrice d'incidence / adjacence, etc. en plus du graphique ; regardez par exemple la vue Tâche gR .
Pour la visualisation et le calcul de base, je pense que le paquetage igraph est le plus fiable, en plus de Rgraphviz (sur BioC comme indiqué par @Rob). Sachez que pour que ce dernier fonctionne correctement, graphviz doit également être installé. Le paquet igraph possède de bons algorithmes pour créer de bonnes mises en page, un peu comme graphviz .
Voici un exemple d'utilisation, à partir d'une fausse matrice d'adjacence:
la source
Mis à part ce qui a été dit, pour la tâche de visualisation uniquement (et en dehors de R), vous pourriez être intéressé par la vérification de Gephi .
la source
Une autre option est le package statnet. Statnet a des fonctions pour toutes les mesures couramment utilisées dans le SCN et peut également estimer les modèles ERG. Si vous avez vos données dans une liste de périphérie, lisez-les comme suit (en supposant que votre bloc de données est étiqueté "edgelist"):
Si vos données sont dans une matrice d'adjacence, vous remplacez l'argument matrix.type par "adjacence":
Le package statnet a de très belles capacités de traçage. Pour faire un tracé simple, tapez simplement:
Pour mettre les nœuds à l'échelle en fonction de leur centralité d'interdépendance, il suffit de:
Par défaut, la fonction gplot utilise l'algorithme Fruchterman-Reingold pour placer les nœuds, mais cela peut être contrôlé à partir de l'option mode, par exemple pour utiliser MDS pour le placement du type de nœuds:
ou pour utiliser une disposition en cercle:
Il existe de nombreuses autres possibilités et ce guide couvre la plupart des options de base. Pour un exemple autonome:
la source
Une question similaire a été posée sur cstheory, également si vous êtes spécifiquement intéressé par les graphes planaires ou la visualisation bibliographique .
Gephi a déjà été mentionné ici, mais il a également été recommandé par quelques-uns sur cstheory, donc je pense que c'est un bon choix.
D'autres options intéressantes incluent:
la source
J'ai trouvé NodeXL très utile et facile à utiliser. Il s'agit d'un modèle MS Excel qui permet d'importer / exporter facilement un graphique, de formater les arêtes / sommets, de calculer certaines métriques, de disposer d'algorithmes de clustering. Vous pouvez facilement utiliser des images personnalisées comme sommets.
Un autre outil utile pour moi était la mise en page Microsoft Automatic Graph qui fournit une bonne mise en page peut être essayée en ligne (avec un navigateur qui prend en charge SVG).
la source