set.seed(1234)
library(sbm)
library(aricode)
context("test partlyObservedNetwork class")
N_cov <- 300
N_nocov <- 300
Q <- 3
M <- 4
source("utils_test.R", local = TRUE)
psi <- 0.75 # missingness
test_that("partlyObservedNetwork: 'Bernoulli' model, undirected, no covariate, no missing", {
sampler_undirected_nocov$rNetwork(store = TRUE)
adjMatrix <- sampler_undirected_nocov$networkData
net <- missSBM:::partlyObservedNetwork$new(adjMatrix)
## check object net
expect_true(inherits(net, "partlyObservedNetwork"))
expect_true(inherits(net$networkData , "dgCMatrix"))
expect_true(inherits(net$samplingMatrix, "dgCMatrix"))
expect_true(inherits(net$imputation() , "dgCMatrix"))
expect_true(Matrix::isSymmetric(net$imputation()))
expect_equal(net$nbNodes, N_nocov)
expect_equal(net$is_directed, FALSE)
expect_equal(net$covarArray, NULL)
expect_equal(net$covarMatrix, NULL)
expect_equal(sum(net$observedNodes), N_nocov)
expect_equal(net$samplingRate, 1)
expect_equal(dim(net$networkData), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), dim(net$samplingMatrixBar))
expect_equal(dim(net$imputation()), dim(net$networkData))
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_undirected_nocov$memberships)), 0.95)
})
test_that("partlyObservedNetwork: 'Bernoulli' model, directed, no covariate, no missing", {
sampler_directed_nocov$rNetwork(store = TRUE)
adjMatrix <- sampler_directed_nocov$networkData
net <- missSBM:::partlyObservedNetwork$new(adjMatrix)
## check object net
expect_true(inherits(net, "partlyObservedNetwork"))
expect_true(inherits(net$networkData , "dgCMatrix"))
expect_true(inherits(net$samplingMatrix, "dgCMatrix"))
expect_true(inherits(net$imputation() , "dgCMatrix"))
expect_true(!Matrix::isSymmetric(net$imputation()))
expect_equal(net$nbNodes, N_nocov)
expect_equal(net$is_directed, TRUE)
expect_equal(net$covarArray, NULL)
expect_equal(net$covarMatrix, NULL)
expect_equal(sum(net$observedNodes), N_nocov)
expect_equal(net$samplingRate, 1)
expect_equal(dim(net$networkData), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), dim(net$samplingMatrixBar))
expect_equal(dim(net$imputation()), dim(net$networkData))
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_directed_nocov$memberships)), 0.95)
})
test_that("partlyObservedNetwork: 'Bernoulli' model, undirected, no covariate, missing", {
sampler_undirected_nocov$rNetwork(store = TRUE)
adjMatrix <- missSBM::observeNetwork(sampler_undirected_nocov$networkData, "dyad", psi)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix)
## check object net
expect_true(inherits(net, "partlyObservedNetwork"))
expect_true(inherits(net$networkData , "dgCMatrix"))
expect_true(inherits(net$samplingMatrix, "dgCMatrix"))
expect_true(inherits(net$imputation() , "dgCMatrix"))
expect_true(Matrix::isSymmetric(net$imputation()))
expect_equal(net$nbNodes, N_nocov)
expect_equal(net$is_directed, FALSE)
expect_equal(net$covarArray, NULL)
expect_equal(net$covarMatrix, NULL)
expect_equal(length(net$observedNodes), N_nocov)
expect_lt(net$samplingRate, psi + 0.1)
expect_equal(dim(net$networkData), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), dim(net$samplingMatrixBar))
expect_equal(dim(net$imputation()), dim(net$networkData))
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_undirected_nocov$memberships)), 0.95)
adjMatrix <- missSBM::observeNetwork(sampler_undirected_nocov$networkData, "node", psi)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix)
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_undirected_nocov$memberships)), 0.95)
})
test_that("partlyObservedNetwork: 'Bernoulli' model, directed, no covariate, missing", {
sampler_directed_nocov$rNetwork(store = TRUE)
adjMatrix <- missSBM::observeNetwork(sampler_directed_nocov$networkData, "dyad", psi)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix)
## check object net
expect_true(inherits(net, "partlyObservedNetwork"))
expect_true(inherits(net$networkData , "dgCMatrix"))
expect_true(inherits(net$samplingMatrix, "dgCMatrix"))
expect_true(inherits(net$imputation() , "dgCMatrix"))
expect_true(!Matrix::isSymmetric(net$imputation()))
expect_equal(net$nbNodes, N_nocov)
expect_equal(net$is_directed, TRUE)
expect_equal(net$covarArray, NULL)
expect_equal(net$covarMatrix, NULL)
expect_equal(length(net$observedNodes), N_nocov)
expect_lt(net$samplingRate, psi + 0.1)
expect_equal(dim(net$networkData), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), dim(net$samplingMatrixBar))
expect_equal(dim(net$imputation()), dim(net$networkData))
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_directed_nocov$memberships)), 0.95)
## node sampling
adjMatrix <- missSBM::observeNetwork(sampler_directed_nocov$networkData, "node", psi)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix)
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_directed_nocov$memberships)), 0.95)
})
test_that("partlyObservedNetwork: 'Bernoulli' model, undirected, covariates, no missing", {
sampler_undirected_cov$rNetwork(store = TRUE)
adjMatrix <- sampler_undirected_cov$networkData
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_undirected)
## check object net
expect_true(inherits(net, "partlyObservedNetwork"))
expect_true(inherits(net$networkData , "dgCMatrix"))
expect_true(inherits(net$samplingMatrix, "dgCMatrix"))
expect_true(inherits(net$imputation() , "dgCMatrix"))
expect_true(Matrix::isSymmetric(net$imputation()))
expect_equal(net$nbNodes, N_nocov)
expect_equal(net$is_directed, FALSE)
expect_equal(dim(net$covarArray), c(N_cov, N_cov, M))
expect_equal(sum(net$observedNodes), N_nocov)
expect_equal(net$samplingRate, 1)
expect_equal(dim(net$networkData), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), dim(net$samplingMatrixBar))
expect_equal(dim(net$imputation()), dim(net$networkData))
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_undirected_cov$memberships)), 0.7)
})
test_that("partlyObservedNetwork: 'Bernoulli' model, directed, covariates, no missing", {
sampler_directed_cov$rNetwork(store = TRUE)
adjMatrix <- sampler_directed_cov$networkData
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_directed)
## check object net
expect_true(inherits(net, "partlyObservedNetwork"))
expect_true(inherits(net$networkData , "dgCMatrix"))
expect_true(inherits(net$samplingMatrix, "dgCMatrix"))
expect_true(inherits(net$imputation() , "dgCMatrix"))
expect_true(!Matrix::isSymmetric(net$imputation()))
expect_equal(net$nbNodes, N_nocov)
expect_equal(net$is_directed, TRUE)
expect_equal(dim(net$covarArray), c(N_cov, N_cov, M))
expect_equal(sum(net$observedNodes), N_nocov)
expect_equal(net$samplingRate, 1)
expect_equal(dim(net$networkData), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), dim(net$samplingMatrixBar))
expect_equal(dim(net$imputation()), dim(net$networkData))
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_directed_cov$memberships)), 0.5)
})
test_that("partlyObservedNetwork: 'Bernoulli' model, undirected, covariates, missing", {
sampler_undirected_cov$rNetwork(store = TRUE)
adjMatrix <- observeNetwork(sampler_undirected_cov$networkData, "dyad", psi)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_undirected)
## check object net
expect_true(inherits(net, "partlyObservedNetwork"))
expect_true(inherits(net$networkData , "dgCMatrix"))
expect_true(inherits(net$samplingMatrix, "dgCMatrix"))
expect_true(inherits(net$imputation() , "dgCMatrix"))
expect_true(Matrix::isSymmetric(net$imputation()))
expect_equal(net$nbNodes, N_nocov)
expect_equal(net$is_directed, FALSE)
expect_equal(dim(net$covarArray), c(N_cov, N_cov, M))
expect_equal(length(net$observedNodes), N_nocov)
expect_lt(net$samplingRate, psi + 0.1)
expect_equal(dim(net$networkData), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), dim(net$samplingMatrixBar))
expect_equal(dim(net$imputation()), dim(net$networkData))
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_undirected_cov$memberships)), 0.5)
adjMatrix <- observeNetwork(sampler_undirected_cov$networkData, "covar-dyad", runif(M, 0, 2), covariates = covarList_undirected)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_undirected)
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_undirected_cov$memberships)), 0.5)
adjMatrix <- missSBM::observeNetwork(sampler_undirected_cov$networkData, "node", psi)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_undirected)
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_undirected_cov$memberships)), 0.5)
adjMatrix <- missSBM::observeNetwork(sampler_undirected_cov$networkData, "covar-node", runif(M, 0, 2), covariates = covarList_node)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_node)
})
test_that("partlyObservedNetwork: 'Bernoulli' model, directed, covariates, missing", {
sampler_directed_cov$rNetwork(store = TRUE)
adjMatrix <- observeNetwork(sampler_directed_cov$networkData, "dyad", psi)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_directed)
## check object net
expect_true(inherits(net, "partlyObservedNetwork"))
expect_true(inherits(net$networkData , "dgCMatrix"))
expect_true(inherits(net$samplingMatrix, "dgCMatrix"))
expect_true(inherits(net$imputation() , "dgCMatrix"))
expect_true(!Matrix::isSymmetric(net$imputation()))
expect_equal(net$nbNodes, N_nocov)
expect_equal(net$is_directed, TRUE)
expect_equal(dim(net$covarArray), c(N_cov, N_cov, M))
expect_equal(length(net$observedNodes), N_nocov)
expect_lt(net$samplingRate, psi + 0.1)
expect_equal(dim(net$networkData), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), c(N_nocov, N_nocov))
expect_equal(dim(net$samplingMatrix), dim(net$samplingMatrixBar))
expect_equal(dim(net$imputation()), dim(net$networkData))
## check that clustering works
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_directed_cov$memberships)), 0.5)
adjMatrix <- observeNetwork(sampler_directed_cov$networkData, "covar-dyad", runif(M, 0, 2), covariates = covarList_directed)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_directed)
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_directed_cov$memberships)), 0.5)
adjMatrix <- missSBM::observeNetwork(sampler_directed_cov$networkData, "node", psi)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_directed)
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_directed_cov$memberships)), 0.5)
adjMatrix <- missSBM::observeNetwork(sampler_directed_cov$networkData, "covar-node", runif(M, 0, 2), covariates = covarList_node)
net <- missSBM:::partlyObservedNetwork$new(adjMatrix, covariates = covarList_node)
expect_gt(max(sapply(net$clustering(1:(2*Q)), ARI, sampler_directed_cov$memberships)), 0.5)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.