[R-pkgs] igraph 0.5.2
csardi.gabor at gmail.com
Sat Apr 18 11:18:44 CEST 2009
igraph is a package for graphs/networks. It has a C core and
uses a simple and fast graph representation allowing millions
of vertices and edges.
Release notes for the 0.5.2 version:
Release notes for the 0.5.1 version:
Complete list of changes:
The igraph homepage: http://igraph.sf.net
Since there was no announcement about igraph version 0.5.1
on R-pkgs, here is a list of the more important new things of both
version 0.5.2 and 0.5.1.
NEW FEATURES IN THE 0.5.2 VERSION
- We have some support for bipartite (two-mode) graphs now.
See ?graph.incidence, ?get.incidence for dealing with
incidence matrices, ?graph.bipartite for a way to
create bipartite graphs, ?bipartite.projection for
creating one-mode projections. See ?is.bipartite for
deciding whether a graph has a bipartite structure.
- A new simple and fast community finding algorithm called 'label
propagation' was added, see ?label.propagation.community
- The DrL layout generator now supports 3d layouts.
- A limited Tcl/Tk igraph GUI was added, please note that it supports
only a small fraction of the igraph functions. You can start it with
the tkigraph() function.
- Johnson's algorithm is now supported by the shortest path finder.
It allows negative edge weight, but not negative cycles.
- The graph.knn function was added to calculate the average
nearest neighbor degree. It supports edge weights as well.
- Curved edges are now supported by plot() and tkplot(), see
?igraph.plotting for the details.
- Many bugs and memory leaks were fixed, see the News section on the
igraph homepage for details.
NEW FEATURES IN THE 0.5.1 VERSION
- DrL layout generator was added, see ?layout.drl.
- Uniform sampling of graphs with a given degree sequence,
- Conversion functions to/from graphNEL objects (graph package),
see ?igraph.to.graphNEL and ?igraph.from.graphNEL.
- Conversion functions to/from sparse matrices (Matrix package),
see ?graph.adjacency and the 'sparse' argument of
- Creating graphs from adjacency lists, see ?graph.adjlist.
- The function graph.data.frame has an argument called
'vertices' and this makes it very easy to create graphs
with a lot of vertex and edge metadata.
- The Dijkstra and Bellman-Ford shortest path algorithms
were added, see ?shortest.paths.
- The function is.mutual() was added, this tests edge reciprocity.
- The plot() function now supports plottings different vertex
shapes. See ?igraph.plotting and ?igraph.vertex.shapes for
- Many bugs were fixed, see the News section on the igraph
homepage for details.
igraph is originally a C library for graphs, but has interfaces
to high level languages like R, Python and Ruby. The R package
contains BOTH the C library and its R interface.
- graph generators, creating both regular structures like trees,
lattices, etc. and various random graphs.
- a rich set of functions calculating structural properties of
graphs, like vertex centrality (degree, betweenness, closeness,
page rank, eigenvector centrality, Burt's constraints, etc.),
shortest paths, dyad and triad census, network motifs, girth,
K-core decomposition, etc.
- attributes can be associated with the vertices/edges of the graph,
or the graph itself. The attributes can be arbitrary R objects.
- graph visualization using regular R devices, interactive visualization
using Tcl/Tk, 3D visualization using RGL.
- graph layout generators, the standard Kamada-Kawai and
Fruchterman-Reingold algorithms are included, plus many more.
- Functions for graph and subgraph isomorphism, the BLISS and the VF2
algorithms are included.
- Functions for maximal network flows, minimal cuts, vertex and
- igraph can read and write many popular file formats used for
storing graph data: GraphML, Pajek, GML and others.
- igraph contains implementations of many community structure
detection algorithms proposed recently.
Gabor Csardi <Gabor.Csardi at unil.ch> UNIL DGM
More information about the R-packages