Description
It used to be that in terms such as gwesp()
in curved mode, we would specify the initial parameter value in the term and then set fixed=FALSE
(or leave it blank, since it's the default), e.g., gwesp(.2)
. This is no longer needed, nor is a valid way to specify initial parameter value. In fact, it issues a warning:
library(ergm)
data(faux.mesa.high)
summary(faux.mesa.high~gwesp(.5))
#> Warning: In term 'gwesp' in package 'ergm': When 'fixed=FALSE' parameter
#> 'decay' has no effect. To specify an initial value for 'decay', use the
#> 'control.ergm()' parameter 'init='.
The decay parameter is passed if and only if fixed=TRUE
. And so, why not infer the fixedness from the parameter?
- If
decay=
is passed,fixed=TRUE
is assumed. - If
decay=
isNULL
,fixed=FALSE
is assumed. - Passing
fixed=
directly is deprecated and then removed.
To summarise, gwesp()
or just gwesp
fits a curved model, whereas gwesp(.2)
fits a fixed model.
For a softer transition, we can set the default for fixed=
to NA
(i.e., infer from decay=
), so that code that's not too old still works. After a few releases, we could remove fixed=
altogether.
Any thoughts? @drh20drh20 , @handcock , @mbojan , @sgoodreau , @CarterButts , @martinamorris ?