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

Description

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.

Usage

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

## S3 method for class 'ergm_model'
c(...)

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, ..., ignore_aux = TRUE)

## 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, ...)

## S3 replacement method for class 'ergm_model'
param_names(object, canonical = FALSE, ...) <- value

Arguments

formula

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.

nw

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.

silent

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

...

additional parameters for model formulation

term.options

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

extra.aux

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

env

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

offset.decorate

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

terms.only

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

x

object to be converted to an ergm_model.

object

An ergm_model object.

ignore_aux

A flag to specify whether a dyad-dependent auxiliary should make the model dyad-dependent or should be ignored.

canonical

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

offset

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

byterm

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

value

For param_names<-(), either a character vector equal in length to the number of parameters of the specified type (though recycled as needed), or a list of two character vectors, one for non-canonical, the other for canonical, in which case ⁠canonical=⁠ will be ignored. NA elements preserve existing name.

Value

ergm_model returns an ergm_model object as a list containing:

terms

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

etamap

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

uid

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.

  • param_names(ergm_model) <- value: Rename the parameters.

Note

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 Oct. 7, 2024, 5:08 p.m.