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 class 'ergm'
tidy(x, conf.int = FALSE, conf.level = 0.95, exponentiate = FALSE, ...)
An ergm
object returned from a call to ergm::ergm()
.
Logical indicating whether or not to include a confidence
interval in the tidied output. Defaults to FALSE
.
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.
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.
A tibble::tibble with one row for each coefficient in the exponential random graph model, with columns:
The term in the model being estimated and tested
The estimated coefficient
The standard error
The MCMC error
The two-sided p-value
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/.
tidy()
, ergm::ergm()
, ergm::control.ergm()
,
ergm::summary()
Other ergm tidiers:
glance.ergm()
# load libraries for models and data
library(ergm)
#>
#> ‘ergm’ 4.8.1 (2025-01-20), part of the Statnet Project
#> * ‘news(package="ergm")’ for changes since last version
#> * ‘citation("ergm")’ for citation information
#> * ‘https://statnet.org’ for help, support, and other information
#> ‘ergm’ 4 is a major update that introduces some backwards-incompatible
#> changes. Please type ‘news(package="ergm")’ for a list of major
#> changes.
#>
#> Attaching package: ‘ergm’
#> The following object is masked from ‘package:btergm’:
#>
#> gof
# 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):
#> Obtaining the responsible dyads.
#> Evaluating the predictor and response matrix.
#> Maximizing the pseudolikelihood.
#> Finished MPLE.
#> Evaluating log-likelihood at the estimate.
#>
# show terms, coefficient estimates and errors
tidy(gest)
#> # A tibble: 2 × 6
#> term estimate std.error mcmc.error statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 edges -2.30 0.402 0 -5.73 0.0000000102
#> 2 absdiff.wealth 0.0155 0.00616 0 2.52 0.0117
# show coefficients as odds ratios with a 99% CI
tidy(gest, exponentiate = TRUE, conf.int = TRUE, conf.level = 0.99)
#> Warning: Coefficients will be exponentiated, but the model didn't use a `log` or `logit`
#> link.
#> # A tibble: 2 × 8
#> term estimate std.error mcmc.error statistic p.value conf.low conf.high
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 edges 0.100 0.402 0 -5.73 1.02e-8 0.0355 0.282
#> 2 absdiff.we… 1.02 0.00616 0 2.52 1.17e-2 1.00 1.03
# take a look at likelihood measures and other
# control parameters used during MCMC estimation
glance(gest)
#> # A tibble: 1 × 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 × 9
#> independence iterations logLik null.deviance df.null residual.deviance
#> <lgl> <int> <dbl> <logLik> <dbl> <dbl>
#> 1 TRUE 4 -51.0 166.3553 120 102.
#> # ℹ 3 more variables: df.residual <dbl>, AIC <dbl>, BIC <dbl>
glance(gest, mcmc = TRUE)
#> Though `glance()` was supplied `mcmc = TRUE`, the model was not fitted using
#> MCMC,
#> ℹ The corresponding columns will be omitted.
#> # A tibble: 1 × 5
#> independence iterations logLik AIC BIC
#> <lgl> <int> <dbl> <dbl> <dbl>
#> 1 TRUE 4 -51.0 106. 112.