| Type: | Package |
| Title: | Model-Based Clustering of Network Data |
| Version: | 1.0.2 |
| Maintainer: | Shuchismita Sarkar <ssarkar@bgsu.edu> |
| Description: | Clustering unilayer and multilayer network data by means of finite mixtures is the main utility of netClust. |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| Depends: | R (≥ 2.10) |
| Imports: | Rcpp (≥ 1.0.2) |
| LinkingTo: | Rcpp, RcppArmadillo |
| RoxygenNote: | 7.3.2 |
| Encoding: | UTF-8 |
| NeedsCompilation: | yes |
| Packaged: | 2026-01-23 15:15:46 UTC; shuch |
| Author: | Shuchismita Sarkar [aut, cre], Volodymyr Melnykov [aut] |
| Repository: | CRAN |
| Date/Publication: | 2026-01-23 19:50:07 UTC |
Model-Based Clustering of Network Data
Description
Clustering unilayer and multilayer network data by means of finite mixtures is the main utility of netClust.
Details
The DESCRIPTION file:
| Package: | netClust |
| Type: | Package |
| Title: | Model-Based Clustering of Network Data |
| Version: | 1.0.2 |
| Authors@R: | c(person(given = "Shuchismita", family = "Sarkar", role = c("aut", "cre"), email = "ssarkar@bgsu.edu"), person(given = "Volodymyr", family = "Melnykov", role = "aut")) |
| Maintainer: | Shuchismita Sarkar <ssarkar@bgsu.edu> |
| Description: | Clustering unilayer and multilayer network data by means of finite mixtures is the main utility of netClust. |
| License: | GPL (>= 2) |
| Depends: | R (>= 2.10) |
| Imports: | Rcpp (>= 1.0.2) |
| LinkingTo: | Rcpp, RcppArmadillo |
| RoxygenNote: | 7.3.2 |
| Encoding: | UTF-8 |
| Author: | Shuchismita Sarkar [aut, cre], Volodymyr Melnykov [aut] |
| Archs: | x64 |
Index of help topics:
netClust-package Model-Based Clustering of Network Data
netData Dataset: netData
netDataID Dataset: netDataID
netEM_multilayer Returns the EM object for multilayer network
netEM_unilayer Returns the EM object for unilayer network
rcpparma_hello_world Set of functions in example RcppArmadillo
package
Provides model-based clustering for weighted networks. Core functions: netEM_unilayer() and netEM_multilayer().
Author(s)
NA
Maintainer: Shuchismita Sarkar <ssarkar@bgsu.edu>
References
Melnykov, V., Sarkar, S. and Melnykov, Y., 2021. On finite mixture modeling and model-based clustering of directed weighted multilayer networks. Pattern Recognition, 112, p.107641.
Examples
data(netData) ## Read network data
data(netDataID) ## Read original ID for network data
n <- dim(netData)[1] ## number of nodes of the network
p <- dim(netData)[4] ## number of layers of the network
K <- 2 ## number of clusters
y <- netData
eps=0.0001
RndStrtUni= 5
RndStrtMult= 10
SmEMUni= 3
SmEMMult= 5
ItrSmEM=5
burn = 10*n
ItrMCMC= 100*n
sSigma = 1
sPsi = 1
a=0
#########################################################
### Run unilayer network EM seperately for each layer ###
#########################################################
for (MatC in 1:p){
x <- array(0, dim = c(n,n,2))
for (i in 1:n){
for (j in 1:n){
x[i,j,] <- y[i,j,,MatC]
}
}
E <- netEM_unilayer(x, K, eps, RndStrtUni, SmEMUni, ItrSmEM, burn, ItrMCMC, sSigma,a)
cat("Unilayer network", "Original ID", netDataID, "\n")
cat("Unilayer network", "Feature", MatC, "Assigned ID", E$id, "\n")
}
##################################
### Run multilayer network EM ###
##################################
E <- netEM_multilayer(y,K,p, eps, RndStrtMult, SmEMMult, ItrSmEM, burn, ItrMCMC, sSigma, sPsi, n, a)
cat("Multilayer network", "Original ID", netDataID, "\n")
cat("Multilayer network", "Assigned ID", E$id, "\n")
Set of functions in example RcppArmadillo package
Description
These four functions are created when
RcppArmadillo.package.skeleton() is invoked to create a
skeleton packages.
Usage
rcpparma_hello_world()
rcpparma_outerproduct(x)
rcpparma_innerproduct(x)
rcpparma_bothproducts(x)
Arguments
x |
a numeric vector |
Details
These are example functions which should be largely self-explanatory. Their main benefit is to demonstrate how to write a function using the Armadillo C++ classes, and to have to such a function accessible from R.
Value
rcpparma_hello_world() does not return a value, but displays a
message to the console.
rcpparma_outerproduct() returns a numeric matrix computed as the
outer (vector) product of x.
rcpparma_innerproduct() returns a double computer as the inner
(vector) product of x.
rcpparma_bothproducts() returns a list with both the outer and
inner products.
Author(s)
Dirk Eddelbuettel
References
See the documentation for Armadillo, and RcppArmadillo, for more details.
Examples
x <- sqrt(1:4)
rcpparma_innerproduct(x)
rcpparma_outerproduct(x)
Dataset: netData
Description
Network data with 20 nodes and 2 layers
Usage
data("netData")
Format
The format is: num [1:20, 1:20, 1:2, 1:2] 0 0 0 0 0 0 0 0 0 0 ...
Details
Dataset demonstrating multilayer network
Source
Sarkar, S. (2020)
References
Sarkar, S. (2019) On the use of transformations for modeling multidimensional heterogeneous data, The University of Alabama Libraries Digital Collections
Examples
data(netData)
## maybe str(netData) ; plot(netData) ...
Dataset: netDataID
Description
ID for netData dataset
Usage
data("netDataID")
Format
A data frame with 30 observations on the following 1 variable.
netDataIDa numeric vector
Details
ID for the dataset demonstrating multilayer network
Source
Sarkar, S. (2020)
References
Sarkar, S. (2019) On the use of transformations for modeling multidimensional heterogeneous data, The University of Alabama Libraries Digital Collections
Examples
data(netDataID)
## maybe str(netDataID) ; plot(netDataID) ...
Returns the EM object for multilayer network
Description
Returns the EM object for multilayer network
Usage
netEM_multilayer(
y,
K,
p,
eps,
num_rand_start,
num_run_smallEM,
max_itr_smallEM,
burn,
MCMC_itr,
sigma_mult,
psi_mult,
n,
alpha
)
Arguments
y |
multiple network |
K |
number of clusters |
p |
number of layers |
eps |
epsilon for convergence |
num_rand_start |
number of random starts |
num_run_smallEM |
number of runs for small EM |
max_itr_smallEM |
maximum number of runs for small EM |
burn |
number of runs for burn for Metropolis Hastings |
MCMC_itr |
number of runs for Metropolis Hastings iterations |
sigma_mult |
scaling multiplier for Sigma matrix |
psi_mult |
scaling multiplier for Psi matrix |
n |
number of nodes of the network |
alpha |
seed provided by the user |
Value
EM object
Returns the EM object for unilayer network
Description
Returns the EM object for unilayer network
Usage
netEM_unilayer(
x,
K,
eps,
num_rand_start,
num_run_smallEM,
max_itr_smallEM,
burn,
MCMC_itr,
sigma_mult,
alpha
)
Arguments
x |
multiple network |
K |
number of clusters |
eps |
epsilon for convergence |
num_rand_start |
number of random starts |
num_run_smallEM |
number of runs for small EM |
max_itr_smallEM |
maximum number of runs for small EM |
burn |
number of runs for burn for Metropolis Hastings |
MCMC_itr |
number of runs for Metropolis Hastings iterations |
sigma_mult |
scaling multiplier for Sigma matrix |
alpha |
seed provided by the user |
Value
EM object