Jongler avec les objets R, le package intergraph

Plusieurs modules existent pour analyser les graphes dans R, les plus fréquemment commentés étant sna et igraph. Ces packages utilisent des objets particuliers [1] : sna utilise des objets network, igraph des objets… igraph [2]. Le module intergraph permet de jongler entre les modules et les objets et deux commandes s’avèrent particulièrement utiles : as.igraph et as.network. La première transforme un objet network en objet igraph, la seconde fait l’inverse. La fonction netcompare permet ensuite de contrôler que la transformation s’est déroulée correctement. Autre fonction très utile asDF qui transforme objets network et igraph en data.frame.

Exemple de script tiré de la documentation du package

#chargement des packages

library(intergraph)
library(statnet)
library(igraph)

#jeux de données statnet

g1 <- faux.mesa.high

#type et structure

class(g1)
summary(g1)

#transformation en objet igraph

g2 <- as.igraph(g1)

#contrôle

netcompare(g1, g2)

#jeux de données igraph

g3 <- exIgraph

#transformation en objet network

g4 <- as.network(g3)

#contrôle

netcompare(g3,g4)

#transformation en data.frame
#et contrôle

d1 <- asDF(g1)
str(d1)
d2 <- asDF(g3)
str(d2)

Référence : Michal Bojanowski, Package ‘intergraph’, Coercion routines for network data objects in R, 19 Juin 2012.

http://intergraph.r-forge.r-project.org, http://www.bojanorama.pl

[1] Le type d’un objet x dans R s’obtient avec la commande class(x).

[2] Le problème ne se pose pas avec tnet qui utilise des objets matrix.


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *