ggformula, mosaicCalc, tidyr, readr, MASS, faraway, Hmisc,
DAAG, multcomp, vcd, car, alr4, corrgram, BradleyTerry2,
cubature, knitr, mosaicData, rmarkdown

Sample Generalized Random Dot Product Graphs in Linear Time
c(person(given = "Alex",
family = "Hayes",
role = c("aut", "cre", "cph"),
email = "alexpghayes@gmail.com",
comment = c(ORCID = "0000-0002-4985-5160")),
person(given = "Karl",
family = "Rohe",
role = c("aut", "cph"),
email = "KarlRohe@stat.wisc.edu"),
person(given = "Jun",
family = "Tao",
role = "aut"),
person(given = "Xintian",
family = "Han",
role = "aut"),
person(given = "Norbert",
family = "Binkiewicz",
role = "aut"))
Samples generalized random product graph, a
generalization of a broad class of network models. Given matrices X,
S, and Y with with non-negative entries, samples a matrix with
expectation X S Y^T and independent Poisson or Bernoulli entries. The
algorithm first samples the number of edges and then puts them down
one-by-one.  As a result it is O(m) where m is the number of edges, a
dramatic improvement over element-wise algorithms that which require
O(n^2) operations to sample a random graph, where n is the number of
nodes.
ellipsis, glue, igraph, magrittr, RSpectra, stats, tibble,
tidygraph
covr, dplyr, ggplot2, knitr, rmarkdown, testthat (>= 2.1.0)
Alex Hayes [aut, cre, cph] (<https://orcid.org/0000-0002-4985-5160>),
Karl Rohe [aut, cph],
Jun Tao [aut],
Xintian Han [aut],
Norbert Binkiewicz [aut]

c(
person("Alex", "Hayes", , "alexpghayes@gmail.com", role = c("aut", "cre", "cph"),
comment = c(ORCID = "0000-0002-4985-5160")),
person("Karl", "Rohe", , "KarlRohe@stat.wisc.edu", role = c("aut", "cph")),
person("Jun", "Tao", role = "aut"),
person("Xintian", "Han", role = "aut"),
person("Norbert", "Binkiewicz", role = "aut")
)
Samples generalized random product graph, a generalization of
a broad class of network models. Given matrices X, S, and Y with with
non-negative entries, samples a matrix with expectation X S Y^T and
independent Poisson or Bernoulli entries using the fastRG algorithm of
Rohe et al. (2017) <https://www.jmlr.org/papers/v19/17-128.html>. The
algorithm first samples the number of edges and then puts them down
one-by-one.  As a result it is O(m) where m is the number of edges, a
dramatic improvement over element-wise algorithms that which require
O(n^2) operations to sample a random graph, where n is the number of
nodes.
ellipsis, glue, igraph, RSpectra, stats, tibble, tidygraph
covr, dplyr, ggplot2, knitr, magrittr, rmarkdown, testthat
(>= 3.0.0)