nkpartitions function

Functions for listing all possible partitions or just counting the number of them

Functions for listing all possible partitions or just counting the number of them

The function nkpartitions lists all possible partitions of n objects in to k clusters.

nkpar(n, k) nkpartitions(n, k, exact = TRUE, print = FALSE)

Arguments

  • n: Number of units/objects.
  • k: Number of clusters/groups.
  • exact: Search for partitions with exactly k or at most k clusters.
  • print: Print results as they are found.

Returns

The matrix or number of possible partitions.

Examples

n <- 8 # If larger, the number of partitions increases dramatically, # as does if we increase the number of clusters net <- matrix(NA, ncol = n, nrow = n) clu <- rep(1:2, times = c(3, 5)) tclu <- table(clu) net[clu == 1, clu == 1] <- rnorm(n = tclu[1] * tclu[1], mean = 0, sd = 1) net[clu == 1, clu == 2] <- rnorm(n = tclu[1] * tclu[2], mean = 4, sd = 1) net[clu == 2, clu == 1] <- rnorm(n = tclu[2] * tclu[1], mean = 0, sd = 1) net[clu == 2, clu == 2] <- rnorm(n = tclu[2] * tclu[2], mean = 0, sd = 1) # Computation of criterion function with the correct partition nkpar(n = n, k = length(tclu)) # Computing the number of partitions all.par <- nkpartitions(n = n, k = length(tclu)) # Forming the partitions all.par <- lapply(apply(all.par, 1, list), function(x) x[[1]]) # to make a list out of the matrix res <- critFunC(M = net, clu = clu, approaches = "val", blocks = c("nul", "com"), preSpecM = 4) plot(res) # We get the original partition

Author(s)

Chris Andrews

  • Maintainer: Aleš Žiberna
  • License: GPL (>= 2)
  • Last published: 2023-08-23

Useful links