context("test-plnnetworkfit")
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
test_that("PLNnetwork fit: check classes, getters and field access", {
models <- PLNnetwork(Abundance ~ 1, data = trichoptera)
X <- model.matrix(Abundance ~ 1, data = trichoptera)
Y <- as.matrix(trichoptera$Abundance)
n <- nrow(Y); p <- ncol(Y)
O <- matrix(0, n, p)
w <- rep(1, n)
## PLNnetworkfit
myPLNfit <- getBestModel(models)
## fields and active bindings
expect_equal(dim(myPLNfit$latent), dim(Y))
expect_equal(dim(myPLNfit$model_par$B), c(ncol(X), ncol(Y)))
expect_equal(dim(myPLNfit$model_par$Omega), c(ncol(Y), ncol(Y)))
expect_equal(dim(myPLNfit$model_par$Sigma), c(ncol(Y), ncol(Y)))
expect_equal(dim(myPLNfit$var_par$M), c(nrow(Y), ncol(Y)))
expect_equal(dim(myPLNfit$var_par$S), c(nrow(Y), ncol(Y)))
expect_equal(sum(myPLNfit$loglik_vec), myPLNfit$loglik)
expect_lt(myPLNfit$BIC, myPLNfit$loglik)
expect_lt(myPLNfit$EBIC, myPLNfit$loglik)
expect_lt(myPLNfit$EBIC, myPLNfit$BIC)
expect_equal(myPLNfit$R_squared, NA)
expect_gt(myPLNfit$density, 0)
expect_true(myPLNfit$penalty > 0)
expect_true(is.data.frame(myPLNfit$criteria))
expect_equal(myPLNfit$nb_param, 2 *p + myPLNfit$n_edges)
## S3 methods
expect_equal(coefficients(myPLNfit), myPLNfit$model_par$B)
expect_equal(dim(fitted(myPLNfit)), dim(Y))
expect_equal(sigma(myPLNfit), myPLNfit$model_par$Sigma)
expect_error(vcov(myPLNfit, "main"))
expect_null(myPLNfit$vcov_coef)
expect_equal(vcov(myPLNfit, "covariance"), myPLNfit$model_par$Sigma)
expect_equal(vcov(myPLNfit, "covariance"), sigma(myPLNfit))
expect_warning(standard_error(myPLNfit))
expect_true(igraph::is_igraph(myPLNfit$plot_network(output = "igraph", plot = FALSE)))
expect_true(inherits(myPLNfit$plot_network(output = "corrplot", plot = FALSE), "Matrix"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.