There are two steps to using the fastRG package. First, you must parameterize a random dot product graph by sampling the latent factors. Use functions such as dcsbm() , sbm() , etc, to perform this specification. Then, use sample_*() functions to generate a random graph in your preferred format.
sample_igraph(factor_model, . ) ## S3 method for class 'undirected_factor_model' sample_igraph(factor_model, . ) ## S3 method for class 'directed_factor_model' sample_igraph(factor_model, . )
Ignored. Do not use.
This function implements the fastRG algorithm as described in Rohe et al (2017). Please see the paper (which is short and open access!!) for details.
An igraph::igraph() object that is possibly a multigraph (that is, we take there to be multiple edges rather than weighted edges).
When factor_model is undirected:
- the graph is undirected and one-mode.
When factor_model is directed and square:
- the graph is directed and one-mode.
When factor_model is directed and rectangular:
- the graph is undirected and bipartite.
Note that working with bipartite graphs in igraph is more complex than working with one-mode graphs.
Rohe, Karl, Jun Tao, Xintian Han, and Norbert Binkiewicz. 2017. "A Note on Quickly Sampling a Sparse Matrix with Low Rank Expectation." Journal of Machine Learning Research; 19(77):1-13, 2018. https://www.jmlr.org/papers/v19/17-128.html
library(igraph) library(tidygraph) set.seed(27) ##### undirected examples ---------------------------- n