MIC using Rcpp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R
figure
inst
man
src
vignettes
.DS_Store
.Rbuildignore
.gitignore
DESCRIPTION
MIC2-intro.md
MIC2.Rproj
NAMESPACE
README.md

README.md

MIC2

Multilevel Integrative Clustering (MIC recoded in C++), packaged by Qian Li

Installation:

devtools::install_github("Qian-Li/MIC2")

More technical details are available in this introduction and our manuscript.

Quick Example

Time series simulation:

library(MIC2)
## 3 subjects, each has 10 segments of simulated signals, coherence = 0.9
ts_sim <- MIC_sim(alpha = 0.9, nsub = 3, segs = 10, fs = 200)

Data preparation:

## Spectral Estimation and Eigen-Laplacian transformation
list_data <- lapply(ts_sim$Data, function(x) MIC_prep(X = x, d = 4,
                                  par.spec = c(80, 50, 100), par.win = c(3, 1)))

MIC clustering:

## MIC fitting with 10k iterations (9 secs)
start <- Sys.time()
output <- MIC(data = list_data, K = 4, nit = 10000); 
Sys.time() - start

Clustering result:

## Group label accuracy:
sum(align(ts_sim$C, output$clustS, type = 'vec') == ts_sim$C) / 40

## Individual labels accuracy:
true_c <- lapply(1:3,function(i) ts_sim$Ci[,i]); est_c <- lapply(1:3,function(i) output$clustC[i,])
mapply(function(x,y) sum(align(x,y,'vec')==x)/40,
    true_c, est_c)