Trait-based random generation
Generation of random graphs based on different vertex types.
preference.game(nodes, types, type.dist=rep(1, types), fixed.sizes=FALSE, pref.matrix=matrix(1, types, types), directed=FALSE, loops=FALSE) asymmetric.preference.game(nodes, types, type.dist.matrix=matrix(1,types,types), pref.matrix = matrix(1, types, types), loops=FALSE)
- The number of vertices in the graphs.
- The number of different vertex types.
- The distribution of the vertex types, a numeric
vector of length
typescontaining non-negative numbers. The vector will be normed to obtain probabilities.
- Fix the number of vertices with a given
vertex type label. The
type.distargument gives the group sizes (i.e. number of vertices with the different labels) in this case.
- The joint distribution of the in- and out-vertex types.
- A square matrix giving the preferences of the
vertex types. The matrix has
typesrows and columns.
- Logical constant, whether to create a directed graph.
- Logical constant, whether self-loops are allowed in the graph.
Both models generate random graphs with given vertex types. For
preference.game the probability that two vertices will be
connected depends on their type and is given by the
asymmetric.preference.game each vertex has an in-type and
an out-type and a directed graph is created. The probability that a
directed edge is realized from a vertex with a given out-type to a
vertex with a given in-type is given in the
- An igraph graph.
pf <- matrix( c(1, 0, 0, 1), nr=2) g <- preference.game(20, 2, pref.matrix=pf) tkplot(g, layout=layout.fruchterman.reingold) pf <- matrix( c(0, 1, 0, 0), nr=2) g <- asymmetric.preference.game(20, 2, pref.matrix=pf) tkplot(g, layout=layout.circle)