anova.ergm {ergm} | R Documentation |
ANOVA for ERGM Fits
Description
Compute an analysis of variance table for one or more ERGM fits.
Usage
## S3 method for class 'ergm'
anova(object, ..., eval.loglik = FALSE)
## S3 method for class 'ergmlist'
anova(object, ..., eval.loglik = FALSE)
Arguments
object , ... |
|
eval.loglik |
a logical specifying whether the log-likelihood will be evaluated if missing. |
Details
Specifying a single object gives a sequential analysis of variance table for that fit. That is, the reductions in the residual sum of squares as each term of the formula is added in turn are given in the rows of a table, plus the residual sum of squares.
The table will contain F statistics (and P values) comparing the mean square for the row to the residual mean square.
If more than one object is specified, the table has a row for the residual degrees of freedom and sum of squares for each model. For all but the first model, the change in degrees of freedom and sum of squares is also given. (This only make statistical sense if the models are nested.) It is conventional to list the models from smallest to largest, but this is up to the user.
If any of the objects do not have estimated log-likelihoods, produces an
error, unless eval.loglik=TRUE
.
Value
An object of class "anova"
inheriting from class
"data.frame"
.
Warning
The comparison between two or more models will only be
valid if they are fitted to the same dataset. This may be a problem if there
are missing values and 's default of na.action = na.omit
is used, and
anova.ergmlist
will detect this with an error.
See Also
The model fitting function ergm
, anova
,
logLik.ergm
for adding the log-likelihood to an existing
ergm
object.
Examples
data(molecule)
molecule %v% "atomic type" <- c(1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3)
fit0 <- ergm(molecule ~ edges)
anova(fit0)
fit1 <- ergm(molecule ~ edges + nodefactor("atomic type"))
anova(fit1)
fit2 <- ergm(molecule ~ edges + nodefactor("atomic type") + gwesp(0.5,
fixed=TRUE), eval.loglik=TRUE) # Note the eval.loglik argument.
anova(fit0, fit1)
anova(fit0, fit1, fit2)