Nothing
library("leiden")
library("reticulate")
context("running Leiden on an adjacency matrix")
set.seed(9000)
adj_mat <- matrix(round(runif(10000, 0, 1)), 100, 100)
modules <- reticulate::py_module_available("leidenalg") && reticulate::py_module_available("igraph")
skip_if_no_python <- function() {
if (!modules)
testthat::skip("leidenalg not available for testing")
}
test_that("run with defaults", {
skip_if_no_python()
partition <- leiden(adj_mat)
expect_length(partition, 100)
})
test_that("run with ModularityVertexPartition", {
skip_if_no_python()
partition <- leiden(adj_mat, partition_type = "ModularityVertexPartition")
expect_length(partition, 100)
})
test_that("run with resolution parameter", {
skip_if_no_python()
partition <- leiden(adj_mat, resolution_parameter = 0.95)
expect_length(partition, 100)
})
test_that("run on adjacency matrix with random seed", {
skip_if_no_python()
partition <- leiden(adj_mat, seed = 42L, weights = NULL)
expect_length(partition, 100)
# test if gives same output with same seed
expect_identical( leiden(adj_mat, seed = 42L, weights = NULL),
leiden(adj_mat, seed = 42L, weights = NULL))
})
weights <- sample(1:10, sum(adj_mat!=0), replace=TRUE)
test_that("run with non-wieghted adjacency matrix and weights vector", {
skip_if_no_python()
partition <- leiden(adj_mat, weights = weights)
expect_length(partition, 100)
})
adj_mat <- ifelse(adj_mat == 1, weights, 0)
test_that("run with wieghted adjacency matrix", {
skip_if_no_python()
partition <- leiden(adj_mat)
expect_length(partition, 100)
})
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.