igraph-package            package:igraph            R Documentation

_T_h_e _i_g_r_a_p_h _p_a_c_k_a_g_e

_D_e_s_c_r_i_p_t_i_o_n:

     igraph is a library for network analysis.

_I_n_t_r_o_d_u_c_t_i_o_n:

     The main goals of the igraph library is  to provide a set of data
     types and functions for 1) pain-free implementation of graph
     algorithms, 2) fast handling of large graphs, with millions of
     vertices and edges, 3) allowing rapid prototyping via high level
     languages like R.

_C_r_e_a_t_i_n_g _g_r_a_p_h_s:

     There are many functions in igraph for creating graphs, both
     deterministic and stochastic; stochastic graph constructors are
     called 'games' is igraph.

     To create small graphs with a given structure probably the
     'graph.formula' function is easiest. It uses R's formula
     interface, its manual page contains many examples. Another option
     is 'graph', which takes numeric vertex ids directly. 'graph.atlas'
     creates graph from the Graph Atlas, 'graph.famous' can create some
     special graphs.

     To create graphs from field data, 'graph.edgelist',
     'graph.data.frame' and 'graph.adjacency' are probably the best
     choices.

     The igraph include some classic random graphs like the Erdos-Renyi
     GNP and GNM graphs ('erdos.renyi.game') and some recent popular
     models, like preferential attachment ('barabasi.game') and the
     small-world model ('watts.strogatz.game').

_V_e_r_t_e_x _a_n_d _e_d_g_e _I_D_s:

     Vertices and edges have numerical vertex ids in igraph. Vertex ids
     are always consecutive and they start with zero. I.e. for a graph
     with 'n' vertices the vertex ids are between '0' and 'n-1'. If
     some operation changes the number of vertices in the graphs, e.g.
     a subgraph is created via 'subgraph', then the vertices are
     renumbered to satisfty this criteria.

     The same is true for the edges as well, edge ids are always
     between zero and 'm-1' where 'm' is the total number of edges in
     the graph.

     It is often desirable to follow vertices along a number of graph
     operations, and vertex ids don't allow this because of the
     renumbering. The solution is to assign attributes to the vertices.
     These are kept by all operations, if possible. See more about
     attributes in the next section.

_A_t_t_r_i_b_u_t_e_s:

     In igraph it is possible to assign attributes to the vertices or
     edges of a graph, or to the graph itself. igraph provides flexible
     constructs for selecting a set of vertices or edges based on their
     attribute values, see 'get.vertex.attribute' and 'iterators' for
     details.

     Some vertex/edge/graph attributes are treated specially. One of
     them is the 'name' attribute. This is used for printing the graph
     instead of the numerical ids, if it exists. Other attributes
     define visualization parameters, see 'igraph.plotting' for
     details.

     Attribute values can be set to any R object, but note that storing
     the graph in some file formats might result the loss of complex
     attribute values. All attribute values are preserved if you use
     'save' and 'load' to store/retrieve your graphs.

_V_i_s_u_a_l_i_z_a_t_i_o_n:

     igraph provides three different ways for visualization. The first
     is the '\layout{plot.igraph}' function. (Actually you don't need
     to write ''plot.igraph'', ''plot'' is enough. This function uses
     base R graphic and can be used with any R device.

     The second function is 'tkplot', which uses a Tk GUI for basic
     interactive graph manipulation. (Tk is quite resource hungry, so
     don't try this for very large graphs.)

     The third way requires the 'rgl' package and uses OpenGL. See the
     'rglplot' function for the details.

     Make sure you read 'igraph.plotting' before you start plotting
     your graphs.

_F_i_l_e _f_o_r_m_a_t_s:

     igraph can handle various graph file formats, usually both for
     reading and writing. We suggest that you use the GraphML file
     format for your graphs, except if the graphs are too big. For big
     graphs a simpler format is recommended. See 'read.graph' and
     'write.graph' for details.

_F_u_r_t_h_e_r _i_n_f_o_r_m_a_t_i_o_n:

     The igraph homepage is at <URL:
     http://cneurocvs.rmki.kfki.hu/igraph>. See especially the
     documentation section. Join the igraph-help mailing list if you
     have questions or comments.

_A_u_t_h_o_r(_s):

     Gabor Csardi csardi@rmki.kfki.hu

