Nothing
# File tests/testthat/test-nonident-test.R in package ergm, part of the
# Statnet suite of packages for network analysis, https://statnet.org .
#
# This software is distributed under the GPL-3 license. It is free,
# open source, and has the attribution requirements (GPL Section 7) at
# https://statnet.org/attribution .
#
# Copyright 2003-2023 Statnet Commons
################################################################################
o <- options(ergm.eval.loglik=FALSE)
data(florentine)
test_that("Nonidentifiable model produces a warning.", {
warnpat <- ".*nodecov\\.-wealth/2\\+1.*\\bnonidentifiable\\b.*"
expect_warning(ergm(flomarriage~edges+nodecov(~wealth)+nodecov(~-wealth/2+1)), warnpat)
expect_warning(ergm(flomarriage~edges+nodecov(~wealth)+nodecov(~-wealth/2+1), control=control.ergm(init.method="CD")), warnpat)
warns <- capture_warnings(ergm(flomarriage~edges+nodecov(~wealth)+nodecov(~-wealth/2+1)+gwesp(fixed=FALSE), control=control.ergm(MCMLE.maxit=1)))
expect_match(warns, warnpat, all=FALSE)
})
test_that("Model identifiable only due to offsets does not.", {
expect_warning(ergm(flomarriage~edges+offset(nodecov(~wealth))+nodecov(~-wealth/2+1), offset.coef=-1),NA)
expect_warning(ergm(flomarriage~offset(edges)+nodecov(~wealth)+nodecov(~-wealth/2+1), offset.coef=-1),NA)
expect_warning(ergm(flomarriage~offset(edges)+nodecov(~wealth)+nodecov(~-wealth/2+1), offset.coef=-1, control=control.ergm(init.method="CD")),NA)
expect_warning(ergm(flomarriage~edges+offset(nodecov(~wealth))+nodecov(~-wealth/2+1)+gwesp(fixed=FALSE), offset.coef=-1, control=control.ergm(MCMLE.maxit=1)),NA)
})
test_that("Nonvarying statistics are detected and are not misdetected as nonidentifiable.", {
expect_warning(ergm(flomarriage~edges+nodecov(~wealth)+nodematch(~priorates<20), constraints=~Dyads(fix=~nodematch(~priorates<20)), control=control.ergm(MPLE.nonident="error")),".*nodematch\\.priorates<20.*\\bnot varying\\b.*")
expect_warning(ergm(flomarriage~edges+nodecov(~wealth)+nodematch(~priorates<20), constraints=~Dyads(fix=~nodematch(~priorates<20)), control=control.ergm(init.method="CD",MPLE.nonident="error")),".*nodematch\\.priorates<20.*\\bnot varying\\b.*")
})
options(o)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.