nkpar {blockmodeling} | R Documentation |
The function nkpartitions
lists all possible partitions of n objects in to k clusters.
nkpar(n, k) nkpartitions(n, k, exact = TRUE, print = FALSE)
n |
Number of units/objects. |
k |
Number of clusters/groups. |
exact |
Search for partitions with exactly |
print |
Print results as they are found. |
The matrix or number of possible partitions.
Chris Andrews
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