ergm_model: Internal representation of an 'ergm' network model

View source: R/ergm_model.R

ergm_modelR Documentation

Internal representation of an ergm network model


These methods are generally not called directly by users, but may be employed by other depending packages. ergm_model constructs it from a formula or a term list. Each term is initialized via the InitErgmTerm functions to create a ergm_model object.


  nw = NULL,
  silent = FALSE,
  term.options = list(),
  extra.aux = list(),
  env = globalenv(),
  offset.decorate = TRUE,
  terms.only = FALSE

## S3 method for class 'ergm_model'

as.ergm_model(x, ...)

## S3 method for class 'ergm_model'
as.ergm_model(x, ...)

## S3 method for class 'formula'
as.ergm_model(x, ...)

## S3 method for class 'ergm_model'
is.curved(object, ...)

## S3 method for class 'ergm_model'
is.dyad.independent(object, ...)

## S3 method for class 'ergm_model'
nparam(object, canonical = FALSE, offset = NA, byterm = FALSE, ...)

## S3 method for class 'ergm_model'
param_names(object, canonical = FALSE, offset = NA, ...)



An ergm() formula of the form network ~ model.term(s) or ~ model.term(s) or a term_list object, typically constructed from a formula's LHS.


The network of interest, optionally instrumented with ergm_preprocess_response() to have a response attribute specification; if passed, the LHS of formula is ignored. This is the recommended usage.


logical, whether to print the warning messages from the initialization of each model term.


additional parameters for model formulation


A list of additional arguments to be passed to term initializers. See ? term.options.


a list of auxiliary request formulas required elsewhere; if named, the resulting slots.extra.aux will also be named.


a throwaway argument needed to prevent conflicts with some usages of ergm_model. The initialization environment is always taken from the formula.


logical; whether offset coefficient and parameter names should be enclosed in "offset()".


logical; whether auxiliaries, eta map, and UID constructions should be skipped. This is useful for submodels.


object to be converted to an ergm_model.


An ergm_model object.


Whether the canonical (eta) parameters or the curved (theta) parameters are used.


If NA (the default), all model terms are counted; if TRUE, only offset terms are counted; and if FALSE, offset terms are skipped.


Whether to return a vector of the numbers of coefficients for each term.


ergm_model returns an ergm_model object as a list containing:


a list of terms and 'term components' initialized by the appropriate InitErgmTerm.X function.


the theta -> eta mapping as a list returned from <ergm.etamap>


a string generated with the model, \UIDalgo; different models are, generally, guaranteed to have different strings, but identical models are not guaranteed to have the same string

Methods (by generic)

  • c(ergm_model): A method for concatenating terms of two or more initialized models.

  • is.curved(ergm_model): Tests whether the model is curved.

  • is.dyad.independent(ergm_model): Tests whether the model is dyad-independent.

  • nparam(ergm_model): Number of parameters of the model.

  • param_names(ergm_model): Parameter names of the model.


This API is not to be considered fixed and may change between versions. However, an effort will be made to ensure that the methods of this class remain stable.

Earlier versions also had an optional ⁠response=⁠ parameter that, if not NULL, switched to valued mode and used the edge attribute named in ⁠response=⁠ as the response. This is no longer used; instead, the response is to be set on nw via ergm_preprocess_response(nw, response).

See Also

summary.ergm_model(), ergm_preprocess_response()

ergm documentation built on May 31, 2023, 8:04 p.m.