Learn R Programming

netdiffuseR (version 1.16.7)

rgraph_ba: Barabasi-Albert model

Description

Generates a scale-free random graph based on Bollabas et al. (2001), also know as Linearized Chord Diagram (LCD) which has nice mathematical propoerties.

Usage

rgraph_ba(m0 = 1L, m = 1L, t = 10L, graph = NULL)

Arguments

m0
Integer scalar. Number of initial vertices in the graph.
m
Integer scalar. Number of new edges per vertex added.
t
Integer scalar. Number of time periods (steps).
graph
Any class of accepted graph format (see netdiffuseR-graphs).

Value

If graph is not provided, a static graph, otherwise an expanded graph (t aditional vertices) of the same class as graph.The resulting graph will have graph$meta$undirected = FALSE if it is of class diffnet and attr(graph, "undirected")=FALSE otherwise.

Details

Based on Ballobás et al. (2001) creates a directed random graph of size t + m0. A big difference with B-A model is that this allows for loops (self/auto edges) and further multiple links, nevertheless, as $t$ increases, the number of such cases reduces.

By default, the degree of the first m0 vertices is set to be 2 (loops). When m>1, as described in the paper, each new link from the new vertex is added one at a time “counting ‘outward half’ of the edge being added as already contributing to the degrees”.

References

Bollobás, B´., Riordan, O., Spencer, J., & Tusnády, G. (2001). The degree sequence of a scale-free random graph process. Random Structures & Algorithms, 18(3), 279–290. http://doi.org/10.1002/rsa.1009

Albert-László Barabási, & Albert, R. (1999). Emergence of Scaling in Random Networks. Science, 286(5439), 509–512. http://doi.org/10.1126/science.286.5439.509

Albert-László Barabási. (2016). Network Science: (1st ed.). Cambridge University Press. Retrieved from http://barabasi.com/book/network-science

See Also

Other simulation functions: rdiffnet, rewire_graph, rgraph_er, rgraph_ws, ring_lattice

Examples

Run this code
# Using another graph as a base graph
graph <- rgraph_ba()
graph

graph <- rgraph_ba(graph=graph)

Run the code above in your browser using DataLab