R: Graph generation based on different vertex types

sample_traits_callaway {igraph} | R Documentation

## Graph generation based on different vertex types

### Description

These functions implement evolving network models based on different vertex types.

### Usage

    sample_traits_callaway(nodes, types, edge.per.step = 1,
      type.dist = rep(1, types), pref.matrix = matrix(1, types, types),
      directed = FALSE)

    traits_callaway(...)

    sample_traits(nodes, types, k = 1, type.dist = rep(1, types),
      pref.matrix = matrix(1, types, types), directed = FALSE)

    traits(...)

### Arguments

`nodes` | The number of vertices in the graph.
`types` | The number of different vertex types.
`edge.per.step` | The number of edges to add to the graph per time step.
`type.dist` | The distribution of the vertex types. This is assumed to be stationary in time.
`pref.matrix` | A matrix giving the preferences of the given vertex types. These should be probabilities, ie. numbers between zero and one.
`directed` | Logical constant, whether to generate directed graphs.
`...` | Passed to the constructor, `sample_traits` or `sample_traits_callaway`.
`k` | The number of trials per time step, see details below.

### Details

For `sample_traits_callaway` the simulation goes like this: in each discrete time step a new vertex is added to the graph. The type of this vertex is generated based on `type.dist`. Then two vertices are selected uniformly randomly from the graph. The probability that they will be connected depends on the types of these vertices and is taken from `pref.matrix`. Then another two vertices are selected and this is repeated `edges.per.step` times in each time step.

For `sample_traits` the simulation goes like this: a single vertex is added at each time step. This new vertex tries to connect to `k` vertices in the graph. The probability that such a connection is realized depends on the types of the vertices involved and is taken from `pref.matrix`.

### Value

A new graph object.

### Author(s)

Gabor Csardi csardi.gabor@gmail.com

### Examples

    # two types of vertices, they like only themselves
    g1 <- sample_traits_callaway(1000, 2, pref.matrix=matrix( c(1,0,0,1), nc=2))
    g2 <- sample_traits(1000, 2, k=2, pref.matrix=matrix( c(1,0,0,1), nc=2))

[Package igraph version 1.2.4.1 Index]