barabasi.game()
was renamed to sample_pa()
to create a more
consistent API.
Usage
barabasi.game(
n,
power = 1,
m = NULL,
out.dist = NULL,
out.seq = NULL,
out.pref = FALSE,
zero.appeal = 1,
directed = TRUE,
algorithm = c("psumtree", "psumtree-multiple", "bag"),
start.graph = NULL
)
Arguments
- n
Number of vertices.
- power
The power of the preferential attachment, the default is one, i.e. linear preferential attachment.
- m
Numeric constant, the number of edges to add in each time step This argument is only used if both
out.dist
andout.seq
are omitted or NULL.- out.dist
Numeric vector, the distribution of the number of edges to add in each time step. This argument is only used if the
out.seq
argument is omitted or NULL.- out.seq
Numeric vector giving the number of edges to add in each time step. Its first element is ignored as no edges are added in the first time step.
- out.pref
Logical, if true the total degree is used for calculating the citation probability, otherwise the in-degree is used.
- zero.appeal
The ‘attractiveness’ of the vertices with no adjacent edges. See details below.
- directed
Whether to create a directed graph.
- algorithm
The algorithm to use for the graph generation.
psumtree
uses a partial prefix-sum tree to generate the graph, this algorithm can handle anypower
andzero.appeal
values and never generates multiple edges.psumtree-multiple
also uses a partial prefix-sum tree, but the generation of multiple edges is allowed. Before the 0.6 version igraph used this algorithm ifpower
was not one, orzero.appeal
was not one.bag
is the algorithm that was previously (before version 0.6) used ifpower
was one andzero.appeal
was one as well. It works by putting the ids of the vertices into a bag (multiset, really), exactly as many times as their (in-)degree, plus once more. Then the required number of cited vertices are drawn from the bag, with replacement. This method might generate multiple edges. It only works ifpower
andzero.appeal
are equal one.- start.graph
NULL
or an igraph graph. If a graph, then the supplied graph is used as a starting graph for the preferential attachment algorithm. The graph should have at least one vertex. If a graph is supplied here and theout.seq
argument is notNULL
, then it should contain the out degrees of the new vertices only, not the ones in thestart.graph
.