Tidy summarizes information about the components of a model. A model component might be a single term in a regression, a single hypothesis, a cluster, or a class. Exactly what tidy considers to be a model component varies across models but is usually self-evident. If a model has several distinct types of components, you will need to specify which components to return.

The methods should work with any model that conforms to the ergm class, such as those produced from weighted networks by the ergm.count package.

# S3 method for ergm
tidy(x, conf.int = FALSE, conf.level = 0.95, exponentiate = FALSE, ...)

Arguments

x

An ergm object returned from a call to ergm::ergm().

conf.int

Logical indicating whether or not to include a confidence interval in the tidied output. Defaults to FALSE.

conf.level

The confidence level to use for the confidence interval if conf.int = TRUE. Must be strictly greater than 0 and less than 1. Defaults to 0.95, which corresponds to a 95 percent confidence interval.

exponentiate

Logical indicating whether or not to exponentiate the the coefficient estimates. This is typical for logistic and multinomial regressions, but a bad idea if there is no log or logit link. Defaults to FALSE.

...

Additional arguments to pass to ergm::summary(). Cautionary note: Misspecified arguments may be silently ignored.

Value

A tibble::tibble with one row for each coefficient in the exponential random graph model, with columns:

term

The term in the model being estimated and tested

estimate

The estimated coefficient

std.error

The standard error

mcmc.error

The MCMC error

p.value

The two-sided p-value

References

Hunter DR, Handcock MS, Butts CT, Goodreau SM, Morris M (2008b). ergm: A Package to Fit, Simulate and Diagnose Exponential-Family Models for Networks. Journal of Statistical Software, 24(3). https://www.jstatsoft.org/v24/i03/.

See also

Examples

#> Loading required package: network
#> network: Classes for Relational Data #> Version 1.16.1 created on 2020-10-06. #> copyright (c) 2005, Carter T. Butts, University of California-Irvine #> Mark S. Handcock, University of California -- Los Angeles #> David R. Hunter, Penn State University #> Martina Morris, University of Washington #> Skye Bender-deMoll, University of Washington #> For citation information, type citation("network"). #> Type help("network-package") to get started.
#> #> ergm: version 3.11.0, created on 2020-10-14 #> Copyright (c) 2020, Mark S. Handcock, University of California -- Los Angeles #> David R. Hunter, Penn State University #> Carter T. Butts, University of California -- Irvine #> Steven M. Goodreau, University of Washington #> Pavel N. Krivitsky, UNSW Sydney #> Martina Morris, University of Washington #> with contributions from #> Li Wang #> Kirk Li, University of Washington #> Skye Bender-deMoll, University of Washington #> Chad Klumb #> Michał Bojanowski, Kozminski University #> Ben Bolker #> Based on "statnet" project software (statnet.org). #> For license and citation information see statnet.org/attribution #> or type citation("ergm").
#> NOTE: Versions before 3.6.1 had a bug in the implementation of the bd() #> constraint which distorted the sampled distribution somewhat. In #> addition, Sampson's Monks datasets had mislabeled vertices. See the #> NEWS and the documentation for more details.
#> NOTE: Some common term arguments pertaining to vertex attribute and #> level selection have changed in 3.10.0. See terms help for more #> details. Use ‘options(ergm.term=list(version="3.9.4"))’ to use old #> behavior.
# Using the same example as the ergm package # Load the Florentine marriage network data data(florentine) # Fit a model where the propensity to form ties between # families depends on the absolute difference in wealth gest <- ergm(flomarriage ~ edges + absdiff("wealth"))
#> Starting maximum pseudolikelihood estimation (MPLE):
#> Evaluating the predictor and response matrix.
#> Maximizing the pseudolikelihood.
#> Finished MPLE.
#> Stopping at the initial estimate.
#> Evaluating log-likelihood at the estimate.
#>
# Show terms, coefficient estimates and errors tidy(gest)
#> # A tibble: 2 x 5 #> term estimate std.error statistic p.value #> <chr> <dbl> <dbl> <dbl> <dbl> #> 1 edges -2.30 0.402 -5.73 0.0000000102 #> 2 absdiff.wealth 0.0155 0.00616 2.52 0.0117
# Show coefficients as odds ratios with a 99% CI tidy(gest, exponentiate = TRUE, conf.int = TRUE, conf.level = 0.99)
#> # A tibble: 2 x 7 #> term estimate std.error statistic p.value conf.low conf.high #> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 edges 0.100 0.402 -5.73 0.0000000102 0.0355 0.282 #> 2 absdiff.wealth 1.02 0.00616 2.52 0.0117 1.00 1.03
# Take a look at likelihood measures and other # control parameters used during MCMC estimation glance(gest)
#> # A tibble: 1 x 5 #> independence iterations logLik AIC BIC #> <lgl> <int> <dbl> <dbl> <dbl> #> 1 TRUE 4 -51.0 106. 112.
glance(gest, deviance = TRUE)
#> # A tibble: 1 x 9 #> independence iterations logLik null.deviance df.null residual.devian… #> <lgl> <int> <dbl> <logLik> <dbl> <dbl> #> 1 TRUE 4 -51.0 166.3553 120 102. #> # … with 3 more variables: df.residual <dbl>, AIC <dbl>, BIC <dbl>
glance(gest, mcmc = TRUE)
#> # A tibble: 1 x 8 #> independence iterations logLik AIC BIC MCMC.interval MCMC.burnin #> <lgl> <int> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 TRUE 4 -51.0 106. 112. 1024 16384 #> # … with 1 more variable: MCMC.samplesize <dbl>