igraph (version 0.5.1)

preference.game: Trait-based random generation

Description

Generation of random graphs based on different vertex types.

Usage

preference.game(nodes, types, type.dist=rep(1, types),
    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)

Arguments

nodes
The number of vertices in the graphs.
types
The number of different vertex types.
type.dist
The distribution of the vertex types, a numeric vector of length types containing non-negative numbers. The vector will be normed to obtain probabilities.
type.dist.matrix
The joint distribution of the in- and out-vertex types.
pref.matrix
A square matrix giving the preferences of the vertex types. The matrix has types rows and columns.
directed
Logical constant, whether to create a directed graph.
loops
Logical constant, whether self-loops are allowed in the graph.

Value

    Details

    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 pref.matrix argument. This matrix should be symmetric to make sense but this is not checked. The distribution of the different vertes types is given by the type.dist vector.

    For 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 pref.matrix argument, which can be asymmetric. The joint distribution for the in- and out-types is given in the type.dist.matrix argument.

    See Also

    establishment.game. callaway.traits.game

    Examples

    Run this code
    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)

    Run the code above in your browser using DataCamp Workspace