Graph generation based on different vertex types
These functions implement evolving network models based on different vertex types.
sample_traits_callaway(nodes, types, edge.per.step = 1, type.dist = rep(1, types), pref.matrix = matrix(1, types, types), directed = FALSE)
sample_traits(nodes, types, k = 1, type.dist = rep(1, types), pref.matrix = matrix(1, types, types), directed = FALSE)
- The number of vertices in the graph.
- The number of different vertex types.
- The number of edges to add to the graph per time step.
- The distribution of the vertex types. This is assumed to be stationary in time.
- A matrix giving the preferences of the given vertex types. These should be probabilities, ie. numbers between zero and one.
- Logical constant, whether to generate directed graphs.
- Passed to the constructor,
- The number of trials per time step, see details below.
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
edges.per.step times in each time step.
sample_traits the simulation goes like this: a single vertex is
added at each time step. This new vertex tries to connect to
vertices in the graph. The probability that such a connection is realized
depends on the types of the vertices involved and is taken from
- A new graph object.
# 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))