| enformulate.curved {ergm} | R Documentation |
The generic enformulate.curved converts an ergm object or
formula of a model with curved terms to the variant in which the curved
parameters embedded into the formula and are removed from the parameter
vector. This is the form required by ergm calls.
## S3 method for class 'ergm' enformulate.curved(object, ...) ## S3 method for class 'formula' enformulate.curved(object, theta, response=NULL, ...)
object |
An |
theta |
Curved model parameter configuration. |
response |
Not for release. |
... |
Unused at this time. |
Because of a current kludge in ergm, output from one
run cannot be directly passed as initial values (control.ergm(init=)) for
the next run if any of the terms are curved. One workaround is to
embed the curved parameters into the formula (while keeping
fixed=FALSE) and remove them from control.ergm(init=).
This function automates this process for curved ERGM terms included
with the ergm package. It does not work with curved terms not
included in ergm.
A list with the following components:
formula |
The formula with curved parameter estimates incorporated. |
theta |
The coefficient vector with curved parameter estimates removed. |
data(sampson)
gest<-ergm(samplike~edges+gwesp(alpha=.5, fixed=FALSE),
control=control.ergm(MCMLE.maxit=1))
# Error:
gest2<-try(ergm(gest$formula, control=control.ergm(init=coef(gest), MCMLE.maxit=2)))
print(gest2)
# Works:
tmp<-enformulate.curved(gest)
tmp
gest2<-try(ergm(tmp$formula, control=control.ergm(init=tmp$theta, MCMLE.maxit=2)))
summary(gest2)