SlideShare une entreprise Scribd logo
1  sur  17
Analyse de réseaux avec R 
Analyse de réseaux avec R 
Une courte introduction 
Laurent Beauguitte (CNRS, UMR IDEES) 
http://groupefmr.hypotheses.org/ 
Août 2014 - École thématique Ferney-Voltaire
Analyse de réseaux avec R 
Questions & principes de base 
I Pourquoi R ? 
I Interface de RStudio 
I Principes généraux 
I Obtenir de l'aide. . . 
I Créer des objets 
I Importer des chiers (read.table) 
I Contrôler l'import (str)
Analyse de réseaux avec R 
Deux packages généralistes (statnet et igraph) non compatibles : 
utiliser l'un ou l'autre 
Pour démarrer une session : 
rm(list=ls()) # vider l'espace de travail 
library(statnet) # charger le package 
ou 
rm(list=ls()) # vider l'espace de travail 
library(igraph) # charger le package
Analyse de réseaux avec R 
Visualiser un jeu de données 
rm(list=ls()) 
library(statnet) 
gplot(rgraph(10, tprob=0.2)) #random graph, 10 sommets 
#proba 20% 
library(igraph) 
plot(erdos.renyi.game(10, 1/5))
Analyse de réseaux avec R 
Mesures de base 
statnet igraph 
densité gden graph.density 
comp. connexes components clusters 
degré degree degree 
betweenness betweenness betweenness 
closeness closeness closeness 
PCC* geodist shortest.paths 
cliques clique.census cliques 
k-cores kcores graph.coreness 
*PCC : plus court chemin
Analyse de réseaux avec R 
Saisir les données : éditeur de texte (Notepad++), format .txt ou 
.csv 
Importer des données 
#liste de liens : origine, destination, attributs 
library(statnet) 
d - read.table(data.csv, header=TRUE, sep=;) 
g - as.network(as.matrix(d)) 
g 
library(igraph) 
g - graph.data.frame(d) 
g
Analyse de réseaux avec R 
Importer des attributs pour les sommets (avec igraph) 
Une liste de liens origine - destination - attribut 1 - attribut 2, etc. 
Une liste de sommets - attribut 1 - attribut 2, etc 
rm(list=ls()) 
liens - read.table(liens.csv, header=TRUE, sep=;) 
g - graph.data.frame(liens) 
sommets - read.table(sommets.csv, header=TRUE, sep=;) 
V(g)$Att=sommets$A[match(V(g)$name,sommets$S)] 
# S = code des sommets, A = attribut des sommes 
#variation taille selon attribut 
plot(g, vertex.size = as.numeric(V(g)$Att)*10)
Analyse de réseaux avec R 
Idem avec statnet 
rm(list=ls()) 
library(statnet) 
d - read.table(liens.csv, header=TRUE, sep=;) 
str(d) 
da - read.table(sommets.csv, header=TRUE, sep=;) 
str(d) 
g - as.network(as.matrix(d[,-3])) 
g 
g %v% AGE - da$A 
gplot(g, gmode=graph, displaylabels=TRUE, 
vertex.cex= da$A)
Analyse de réseaux avec R 
Graphe biparti (pas de mesure possible - statnet - ou résultats 
faux - igraph) 
rm(list=ls()) 
library(igraph) 
d - read.table(biparti.csv, sep=;, header=FALSE) 
g - graph.data.frame(d, directed = FALSE) 
g 
library(statnet) 
g - as.network(as.matrix(d), bipartite = TRUE) 
g
Analyse de réseaux avec R 
Extraire et visualiser les ego-networks 
library(statnet) 
ego - ego.extract(g) 
gplot(ego$a, displaylabels=TRUE, labels=colnames(ego$a), 
gmode=graph)
Analyse de réseaux avec R 
Soit le graphe suivant : 
I quel est le diamètre du graphe ? 
I combien y-a-t'il de cliques avec 3 sommets ? avec 4 ? 
I quels sont les sommets les plus centraux ? en terme de degré ? 
en terme d'intermédiarité ?
Exercice 1 
I créer le chier de liens correspondant à cette gure (format 
conseillé .csv) ; 
I l'importer dans R ; 
I le transformer en objet igraph ou network ; 
I chercher les cliques ; 
I mesurer le diamètre, le degré, l'intermédiarité.
Analyse de réseaux avec R 
Avec statnet et/ou igraph, visualiser en faisant apparaître les 
attributs des sommets (couleur), le degré (taille) et l'intensité des 
liens (épaisseur). 
Exemples 
statnet igraph
Analyse de réseaux avec R 
Structure des données 
exoliens.csv exosommets.csv 
O;D;I code;attribut 
a;b;3 a;1 
a;c;2 b;1 
a;d;1 c;1 
... d;2 
... 
Si vous changez les noms de colonnes, il faudra adapter le code 
donné ensuite 
Et il y aura la solution ensuite. . .
rm(list=ls()) 
library(igraph) 
#import des fichiers liens et sommets 
lien - read.table(exoliens.csv, sep=;, header=TRUE) 
somm - read.table(exosommets.csv, sep=;, header=TRUE) 
#transformation en objet igraph 
#import de l'attribut des sommets 
g - graph.data.frame(lien, directed= FALSE) 
V(g)$Att -somm$attribut[match(V(g)$name,somm$code)] 
#mesures 
graph.density(g) 
degree(g) 
betweenness(g) 
max(shortest.paths(g)) 
cliques(g, min = 3)
#visualisation 
colors = c(Red,Yellow) 
V(g)$Att[V(g)$Att == 1] = colors[1] 
V(g)$Att[V(g)$Att == 2] = colors[2] 
edgeW - get.edge.attribute(g, I) 
#ouverture fenetre graphique 
X11() 
plot(g, vertex.size = degree(g)*10, vertex.color= V(g)$Att, 
edge.width = edgeW*2, edge.color = Black)
detach(package:igraph) 
library(statnet) 
g - as.network(as.matrix(lien[,-3]), directed = FALSE) 
g 
gden(g) 
betweenness(g) 
geodist(g) 
clique.census(g, mode=graph) 
X11() 
gplot(g, gmode = graph, displaylabels=TRUE, 
vertex.cex= sqrt(degree(g)), 
vertex.col = somm$attribut, 
edge.lwd = lien$I)

Contenu connexe

Tendances

Présentation du GIEC
Présentation du GIECPrésentation du GIEC
Présentation du GIECipcc-media
 
Cours acp mehdi_aman
Cours acp mehdi_amanCours acp mehdi_aman
Cours acp mehdi_amanMehdi Aman
 
Les instruments topographiques par Ngninteguia. bertin
Les instruments topographiques par Ngninteguia. bertinLes instruments topographiques par Ngninteguia. bertin
Les instruments topographiques par Ngninteguia. bertinbitagogo
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 
Stratégie nationale de nutrition
Stratégie nationale de nutritionStratégie nationale de nutrition
Stratégie nationale de nutritionhaafiiidiii
 
RAPPORT SUR LA MODELISATION D’ECOULEMENT DES EAUX SOUTERRAINS.
RAPPORT SUR LA MODELISATION D’ECOULEMENT DES EAUX SOUTERRAINS.RAPPORT SUR LA MODELISATION D’ECOULEMENT DES EAUX SOUTERRAINS.
RAPPORT SUR LA MODELISATION D’ECOULEMENT DES EAUX SOUTERRAINS.Hassan NAIT-SI
 
Exemple d'un rapport d'évaluation immobilière par "Valhome".
Exemple d'un rapport d'évaluation immobilière par "Valhome".Exemple d'un rapport d'évaluation immobilière par "Valhome".
Exemple d'un rapport d'évaluation immobilière par "Valhome".lavenir
 
Mode Opératoire mise en place de panneau de signalisation routière.
Mode Opératoire mise en place de panneau de signalisation routière.Mode Opératoire mise en place de panneau de signalisation routière.
Mode Opératoire mise en place de panneau de signalisation routière.idropproject
 
Système d’Information Géographique et Télédétection: généralités
Système d’Information Géographique et Télédétection: généralitésSystème d’Information Géographique et Télédétection: généralités
Système d’Information Géographique et Télédétection: généralitésInstitut Pasteur de Madagascar
 
Les industries du textile et de l'habillement en Tunisie
Les industries du textile et de l'habillement en TunisieLes industries du textile et de l'habillement en Tunisie
Les industries du textile et de l'habillement en TunisieAMZ Software
 
Data Analyse pas à pas avec R
Data Analyse pas à pas avec RData Analyse pas à pas avec R
Data Analyse pas à pas avec RAmar LAKEL, PhD
 
Projet de couches lavables à la maternité de Périgueux
Projet de couches lavables à la maternité de PérigueuxProjet de couches lavables à la maternité de Périgueux
Projet de couches lavables à la maternité de PérigueuxEko-think
 
Loi des finances 2023
Loi des finances 2023Loi des finances 2023
Loi des finances 2023ssuser10592f
 
RECHERCHE OPÉRATIONNELLE SEMESTRE 6
RECHERCHE OPÉRATIONNELLE SEMESTRE 6RECHERCHE OPÉRATIONNELLE SEMESTRE 6
RECHERCHE OPÉRATIONNELLE SEMESTRE 6Jamal Yasser
 

Tendances (20)

Présentation du GIEC
Présentation du GIECPrésentation du GIEC
Présentation du GIEC
 
Cours acp mehdi_aman
Cours acp mehdi_amanCours acp mehdi_aman
Cours acp mehdi_aman
 
Cours scoring
Cours scoringCours scoring
Cours scoring
 
Les instruments topographiques par Ngninteguia. bertin
Les instruments topographiques par Ngninteguia. bertinLes instruments topographiques par Ngninteguia. bertin
Les instruments topographiques par Ngninteguia. bertin
 
Se servir d'eviews a la fdse
Se servir d'eviews a la fdseSe servir d'eviews a la fdse
Se servir d'eviews a la fdse
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
L'investissement socialement responsable
L'investissement socialement responsableL'investissement socialement responsable
L'investissement socialement responsable
 
Stratégie nationale de nutrition
Stratégie nationale de nutritionStratégie nationale de nutrition
Stratégie nationale de nutrition
 
RAPPORT SUR LA MODELISATION D’ECOULEMENT DES EAUX SOUTERRAINS.
RAPPORT SUR LA MODELISATION D’ECOULEMENT DES EAUX SOUTERRAINS.RAPPORT SUR LA MODELISATION D’ECOULEMENT DES EAUX SOUTERRAINS.
RAPPORT SUR LA MODELISATION D’ECOULEMENT DES EAUX SOUTERRAINS.
 
tp_mdc.pdf
tp_mdc.pdftp_mdc.pdf
tp_mdc.pdf
 
Exemple d'un rapport d'évaluation immobilière par "Valhome".
Exemple d'un rapport d'évaluation immobilière par "Valhome".Exemple d'un rapport d'évaluation immobilière par "Valhome".
Exemple d'un rapport d'évaluation immobilière par "Valhome".
 
Mode Opératoire mise en place de panneau de signalisation routière.
Mode Opératoire mise en place de panneau de signalisation routière.Mode Opératoire mise en place de panneau de signalisation routière.
Mode Opératoire mise en place de panneau de signalisation routière.
 
NIGER_HDP_Présentation MAHGC Nexus HDP 2023 Principales acancées Niger.pptx
NIGER_HDP_Présentation MAHGC Nexus HDP 2023 Principales acancées Niger.pptxNIGER_HDP_Présentation MAHGC Nexus HDP 2023 Principales acancées Niger.pptx
NIGER_HDP_Présentation MAHGC Nexus HDP 2023 Principales acancées Niger.pptx
 
Système d’Information Géographique et Télédétection: généralités
Système d’Information Géographique et Télédétection: généralitésSystème d’Information Géographique et Télédétection: généralités
Système d’Information Géographique et Télédétection: généralités
 
Les industries du textile et de l'habillement en Tunisie
Les industries du textile et de l'habillement en TunisieLes industries du textile et de l'habillement en Tunisie
Les industries du textile et de l'habillement en Tunisie
 
Data Analyse pas à pas avec R
Data Analyse pas à pas avec RData Analyse pas à pas avec R
Data Analyse pas à pas avec R
 
Projet de couches lavables à la maternité de Périgueux
Projet de couches lavables à la maternité de PérigueuxProjet de couches lavables à la maternité de Périgueux
Projet de couches lavables à la maternité de Périgueux
 
Cartes shewhart
Cartes shewhartCartes shewhart
Cartes shewhart
 
Loi des finances 2023
Loi des finances 2023Loi des finances 2023
Loi des finances 2023
 
RECHERCHE OPÉRATIONNELLE SEMESTRE 6
RECHERCHE OPÉRATIONNELLE SEMESTRE 6RECHERCHE OPÉRATIONNELLE SEMESTRE 6
RECHERCHE OPÉRATIONNELLE SEMESTRE 6
 

Similaire à Introduction à l'analyse de réseaux avec R

Présentation Logiciel R.pptx
Présentation Logiciel R.pptxPrésentation Logiciel R.pptx
Présentation Logiciel R.pptxssusera0d0e81
 
R fait du la tex
R fait du la texR fait du la tex
R fait du la texCdiscount
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdfOuailChoukhairi
 
Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresECAM Brussels Engineering School
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Pythonyboussard
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJosé Paumard
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHPAbdoulaye Dieng
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer Alexandru Radovici
 
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Normandy JUG
 
Analyse_desDonnées_sousR.pptx
Analyse_desDonnées_sousR.pptxAnalyse_desDonnées_sousR.pptx
Analyse_desDonnées_sousR.pptxanashoummas
 
De java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDe java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDidier Plaindoux
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
Beyond F5 - windbg et .Net
Beyond F5 - windbg et .NetBeyond F5 - windbg et .Net
Beyond F5 - windbg et .NetYann Schwartz
 

Similaire à Introduction à l'analyse de réseaux avec R (20)

Présentation Logiciel R.pptx
Présentation Logiciel R.pptxPrésentation Logiciel R.pptx
Présentation Logiciel R.pptx
 
R fait du la tex
R fait du la texR fait du la tex
R fait du la tex
 
Data Mining (Partie 2).pdf
Data Mining (Partie 2).pdfData Mining (Partie 2).pdf
Data Mining (Partie 2).pdf
 
Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulières
 
Initiation r
Initiation rInitiation r
Initiation r
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patterns
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
 
Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015Spark - Ippevent 19-02-2015
Spark - Ippevent 19-02-2015
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
 
R-Lab-1-ppt.pdf
R-Lab-1-ppt.pdfR-Lab-1-ppt.pdf
R-Lab-1-ppt.pdf
 
Une Introduction à R
Une Introduction à RUne Introduction à R
Une Introduction à R
 
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
 
Analyse_desDonnées_sousR.pptx
Analyse_desDonnées_sousR.pptxAnalyse_desDonnées_sousR.pptx
Analyse_desDonnées_sousR.pptx
 
Dijkstra kshortest
Dijkstra kshortestDijkstra kshortest
Dijkstra kshortest
 
De java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDe java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvements
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Cours 01.pptx
Cours 01.pptxCours 01.pptx
Cours 01.pptx
 
Beyond F5 - windbg et .Net
Beyond F5 - windbg et .NetBeyond F5 - windbg et .Net
Beyond F5 - windbg et .Net
 

Plus de Laurent Beauguitte

Three NSBM circles. Between local ancrage & global network
Three NSBM circles. Between local ancrage & global networkThree NSBM circles. Between local ancrage & global network
Three NSBM circles. Between local ancrage & global networkLaurent Beauguitte
 
Analyse de réseaux en sciences sociales en général... et en histoire en parti...
Analyse de réseaux en sciences sociales en général... et en histoire en parti...Analyse de réseaux en sciences sociales en général... et en histoire en parti...
Analyse de réseaux en sciences sociales en général... et en histoire en parti...Laurent Beauguitte
 
Do International News Reflect World Hierarchy? A Network Approach
Do International News Reflect World Hierarchy? A Network ApproachDo International News Reflect World Hierarchy? A Network Approach
Do International News Reflect World Hierarchy? A Network ApproachLaurent Beauguitte
 
Modéliser l’attractivité des lieux globaux Une enquête internationale auprès ...
Modéliser l’attractivité des lieux globaux Une enquête internationale auprès ...Modéliser l’attractivité des lieux globaux Une enquête internationale auprès ...
Modéliser l’attractivité des lieux globaux Une enquête internationale auprès ...Laurent Beauguitte
 
The US and the UK (1970-2010): Ordinary trading partners?
The US and the UK (1970-2010): Ordinary trading partners?The US and the UK (1970-2010): Ordinary trading partners?
The US and the UK (1970-2010): Ordinary trading partners?Laurent Beauguitte
 
Spatial Models of Intra-Urban Behaviours
Spatial Models of Intra-Urban BehavioursSpatial Models of Intra-Urban Behaviours
Spatial Models of Intra-Urban BehavioursLaurent Beauguitte
 
L'analyse de réseaux avec R. Un état des lieux
L'analyse de réseaux avec R. Un état des lieuxL'analyse de réseaux avec R. Un état des lieux
L'analyse de réseaux avec R. Un état des lieuxLaurent Beauguitte
 
Les principaux logiciels pour l'analyse de réseau
Les principaux logiciels pour l'analyse de réseauLes principaux logiciels pour l'analyse de réseau
Les principaux logiciels pour l'analyse de réseauLaurent Beauguitte
 
Les flux RSS pour les études territoriales
Les flux RSS pour les études territorialesLes flux RSS pour les études territoriales
Les flux RSS pour les études territorialesLaurent Beauguitte
 
Régionalisation politique et gouvernance mondiale. L’ONU au prisme des réseaux
Régionalisation politique et gouvernance mondiale. L’ONU au prisme des réseauxRégionalisation politique et gouvernance mondiale. L’ONU au prisme des réseaux
Régionalisation politique et gouvernance mondiale. L’ONU au prisme des réseauxLaurent Beauguitte
 

Plus de Laurent Beauguitte (12)

Three NSBM circles. Between local ancrage & global network
Three NSBM circles. Between local ancrage & global networkThree NSBM circles. Between local ancrage & global network
Three NSBM circles. Between local ancrage & global network
 
20170321georeseaux
20170321georeseaux20170321georeseaux
20170321georeseaux
 
20170320logiciels
20170320logiciels20170320logiciels
20170320logiciels
 
Analyse de réseaux en sciences sociales en général... et en histoire en parti...
Analyse de réseaux en sciences sociales en général... et en histoire en parti...Analyse de réseaux en sciences sociales en général... et en histoire en parti...
Analyse de réseaux en sciences sociales en général... et en histoire en parti...
 
Do International News Reflect World Hierarchy? A Network Approach
Do International News Reflect World Hierarchy? A Network ApproachDo International News Reflect World Hierarchy? A Network Approach
Do International News Reflect World Hierarchy? A Network Approach
 
Modéliser l’attractivité des lieux globaux Une enquête internationale auprès ...
Modéliser l’attractivité des lieux globaux Une enquête internationale auprès ...Modéliser l’attractivité des lieux globaux Une enquête internationale auprès ...
Modéliser l’attractivité des lieux globaux Une enquête internationale auprès ...
 
The US and the UK (1970-2010): Ordinary trading partners?
The US and the UK (1970-2010): Ordinary trading partners?The US and the UK (1970-2010): Ordinary trading partners?
The US and the UK (1970-2010): Ordinary trading partners?
 
Spatial Models of Intra-Urban Behaviours
Spatial Models of Intra-Urban BehavioursSpatial Models of Intra-Urban Behaviours
Spatial Models of Intra-Urban Behaviours
 
L'analyse de réseaux avec R. Un état des lieux
L'analyse de réseaux avec R. Un état des lieuxL'analyse de réseaux avec R. Un état des lieux
L'analyse de réseaux avec R. Un état des lieux
 
Les principaux logiciels pour l'analyse de réseau
Les principaux logiciels pour l'analyse de réseauLes principaux logiciels pour l'analyse de réseau
Les principaux logiciels pour l'analyse de réseau
 
Les flux RSS pour les études territoriales
Les flux RSS pour les études territorialesLes flux RSS pour les études territoriales
Les flux RSS pour les études territoriales
 
Régionalisation politique et gouvernance mondiale. L’ONU au prisme des réseaux
Régionalisation politique et gouvernance mondiale. L’ONU au prisme des réseauxRégionalisation politique et gouvernance mondiale. L’ONU au prisme des réseaux
Régionalisation politique et gouvernance mondiale. L’ONU au prisme des réseaux
 

Introduction à l'analyse de réseaux avec R

  • 1. Analyse de réseaux avec R Analyse de réseaux avec R Une courte introduction Laurent Beauguitte (CNRS, UMR IDEES) http://groupefmr.hypotheses.org/ Août 2014 - École thématique Ferney-Voltaire
  • 2. Analyse de réseaux avec R Questions & principes de base I Pourquoi R ? I Interface de RStudio I Principes généraux I Obtenir de l'aide. . . I Créer des objets I Importer des chiers (read.table) I Contrôler l'import (str)
  • 3. Analyse de réseaux avec R Deux packages généralistes (statnet et igraph) non compatibles : utiliser l'un ou l'autre Pour démarrer une session : rm(list=ls()) # vider l'espace de travail library(statnet) # charger le package ou rm(list=ls()) # vider l'espace de travail library(igraph) # charger le package
  • 4. Analyse de réseaux avec R Visualiser un jeu de données rm(list=ls()) library(statnet) gplot(rgraph(10, tprob=0.2)) #random graph, 10 sommets #proba 20% library(igraph) plot(erdos.renyi.game(10, 1/5))
  • 5. Analyse de réseaux avec R Mesures de base statnet igraph densité gden graph.density comp. connexes components clusters degré degree degree betweenness betweenness betweenness closeness closeness closeness PCC* geodist shortest.paths cliques clique.census cliques k-cores kcores graph.coreness *PCC : plus court chemin
  • 6. Analyse de réseaux avec R Saisir les données : éditeur de texte (Notepad++), format .txt ou .csv Importer des données #liste de liens : origine, destination, attributs library(statnet) d - read.table(data.csv, header=TRUE, sep=;) g - as.network(as.matrix(d)) g library(igraph) g - graph.data.frame(d) g
  • 7. Analyse de réseaux avec R Importer des attributs pour les sommets (avec igraph) Une liste de liens origine - destination - attribut 1 - attribut 2, etc. Une liste de sommets - attribut 1 - attribut 2, etc rm(list=ls()) liens - read.table(liens.csv, header=TRUE, sep=;) g - graph.data.frame(liens) sommets - read.table(sommets.csv, header=TRUE, sep=;) V(g)$Att=sommets$A[match(V(g)$name,sommets$S)] # S = code des sommets, A = attribut des sommes #variation taille selon attribut plot(g, vertex.size = as.numeric(V(g)$Att)*10)
  • 8. Analyse de réseaux avec R Idem avec statnet rm(list=ls()) library(statnet) d - read.table(liens.csv, header=TRUE, sep=;) str(d) da - read.table(sommets.csv, header=TRUE, sep=;) str(d) g - as.network(as.matrix(d[,-3])) g g %v% AGE - da$A gplot(g, gmode=graph, displaylabels=TRUE, vertex.cex= da$A)
  • 9. Analyse de réseaux avec R Graphe biparti (pas de mesure possible - statnet - ou résultats faux - igraph) rm(list=ls()) library(igraph) d - read.table(biparti.csv, sep=;, header=FALSE) g - graph.data.frame(d, directed = FALSE) g library(statnet) g - as.network(as.matrix(d), bipartite = TRUE) g
  • 10. Analyse de réseaux avec R Extraire et visualiser les ego-networks library(statnet) ego - ego.extract(g) gplot(ego$a, displaylabels=TRUE, labels=colnames(ego$a), gmode=graph)
  • 11. Analyse de réseaux avec R Soit le graphe suivant : I quel est le diamètre du graphe ? I combien y-a-t'il de cliques avec 3 sommets ? avec 4 ? I quels sont les sommets les plus centraux ? en terme de degré ? en terme d'intermédiarité ?
  • 12. Exercice 1 I créer le chier de liens correspondant à cette gure (format conseillé .csv) ; I l'importer dans R ; I le transformer en objet igraph ou network ; I chercher les cliques ; I mesurer le diamètre, le degré, l'intermédiarité.
  • 13. Analyse de réseaux avec R Avec statnet et/ou igraph, visualiser en faisant apparaître les attributs des sommets (couleur), le degré (taille) et l'intensité des liens (épaisseur). Exemples statnet igraph
  • 14. Analyse de réseaux avec R Structure des données exoliens.csv exosommets.csv O;D;I code;attribut a;b;3 a;1 a;c;2 b;1 a;d;1 c;1 ... d;2 ... Si vous changez les noms de colonnes, il faudra adapter le code donné ensuite Et il y aura la solution ensuite. . .
  • 15. rm(list=ls()) library(igraph) #import des fichiers liens et sommets lien - read.table(exoliens.csv, sep=;, header=TRUE) somm - read.table(exosommets.csv, sep=;, header=TRUE) #transformation en objet igraph #import de l'attribut des sommets g - graph.data.frame(lien, directed= FALSE) V(g)$Att -somm$attribut[match(V(g)$name,somm$code)] #mesures graph.density(g) degree(g) betweenness(g) max(shortest.paths(g)) cliques(g, min = 3)
  • 16. #visualisation colors = c(Red,Yellow) V(g)$Att[V(g)$Att == 1] = colors[1] V(g)$Att[V(g)$Att == 2] = colors[2] edgeW - get.edge.attribute(g, I) #ouverture fenetre graphique X11() plot(g, vertex.size = degree(g)*10, vertex.color= V(g)$Att, edge.width = edgeW*2, edge.color = Black)
  • 17. detach(package:igraph) library(statnet) g - as.network(as.matrix(lien[,-3]), directed = FALSE) g gden(g) betweenness(g) geodist(g) clique.census(g, mode=graph) X11() gplot(g, gmode = graph, displaylabels=TRUE, vertex.cex= sqrt(degree(g)), vertex.col = somm$attribut, edge.lwd = lien$I)