R: Extended states for submodels

ergm_propagate_ext.encode {ergm} | R Documentation

## Extended states for submodels

### Description

`ergm_propagate_ext.encode()` is a convenience function to propagate the extended state encoder to submodels if they have any.

`ergm_no_ext.encode()` checks if a submodel contains terms that use extended states and stops with an informative error message if any do.

### Usage

    ergm_propagate_ext.encode(submodel)

    ergm_no_ext.encode(submodel)

### Arguments

`submodel` | the `ergm_model` to which the encoders should be propagated.

### Value

`ergm_propagate_ext.encode` returns a list with one element, `ext.encode` containing a function that follows the extended state encoder API and simply returns a list of the subterms extended state encodings.

### Note

`ergm_propagate_ext.encode` should only be used when the operator term does not modify the network and provides an `x_function` on the C level that does appropriate propagation and handles any return values.

### Examples

    ## Not run:
    # Typical usage:
    InitErgmTerm.ABC <- function(nw, arglist, ...){
      [... implementation ...]
      m <- ergm_model([... etc. ...])
      c(list(name = "abc", inputs=1:3, submodel=m),
        ergm_propagate_ext.encode(m),
        wrap.ergm_model(nw, m)
      )
    }

    ## End(Not run)

[Package ergm version 4.2.1 Index]