Skip to contents

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, i.e. 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.

Value

A new graph object.

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.

Author

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), ncol = 2))
g2 <- sample_traits(1000, 2, k = 2, pref.matrix = matrix(c(1, 0, 0, 1), ncol = 2))