BClustLonG {BClustLonG}R Documentation

A Dirichlet process mixture model for clustering longitudinal gene expression data.

Description

A Dirichlet process mixture model for clustering longitudinal gene expression data.

Usage

BClustLonG(
  data = NULL,
  iter = 20000,
  thin = 2,
  savePara = FALSE,
  infoVar = c("both", "int")[1],
  factor = TRUE,
  hyperPara = list(v1 = 0.1, v2 = 0.1, v = 1.5, c = 1, a = 0, b = 10, cd = 1, aa1 = 2,
    aa2 = 1, alpha0 = -1, alpha1 = -1e-04, cutoff = 1e-04, h = 100)
)

Arguments

data

Data list with three elements: Y (gene expression data with each column being one gene), ID, and years. (The names of the elements have to be matached exactly. See the data in the example section more info)

iter

Number of iterations (excluding the thinning).

thin

Number of thinnings.

savePara

Logical variable indicating if all the parameters needed to be saved. Default value is FALSE, in which case only the membership indicators are saved.

infoVar

Either "both" (using both intercepts and slopes for clustering) or "int" (using only intercepts for clustering)

factor

Logical variable indicating whether factor analysis model is wanted.

hyperPara

A list of hyperparameters with default values.

Value

returns a list with following objects.

e.mat

Membership indicators from all iterations.

All other parameters

only returned when savePara=TRUE.

References

Jiehuan Sun, Jose D. Herazo-Maya, Naftali Kaminski, Hongyu Zhao, and Joshua L. Warren. "A Dirichlet process mixture model for clustering longitudinal gene expression data." Statistics in Medicine 36, No. 22 (2017): 3495-3506.

Examples

data(data)
## increase the number of iterations
## to ensure convergence of the algorithm

res = BClustLonG(data, iter=20, thin=2,savePara=FALSE,
infoVar="both",factor=TRUE)
## discard the first 10 burn-ins in the e.mat
## and calculate similarity matrix
## the number of burn-ins has be chosen s.t. the algorithm is converged.
mat = calSim(t(res$e.mat[,11:20]))
clust = maxpear(mat)$cl ## the clustering results.
## Not run: 
## if only want to include intercepts for clustering
## set infoVar="int"
res = BClustLonG(data, iter=10, thin=2,savePara=FALSE,
infoVar="int",factor=TRUE)

## if no factor analysis model is wanted
## set factor=FALSE
res = BClustLonG(data, iter=10, thin=2,savePara=FALSE,
infoVar="int",factor=TRUE)

## End(Not run)

[Package BClustLonG version 0.1.3 Index]