iCluster2 {iClusterPlus} | R Documentation

## Integrative clustering of multiple genomic data types

### Description

Given multiple genomic data types (e.g., copy number, gene expression, DNA methylation) measured in the same set of samples, iCluster fits a regularized latent variable model based clustering that generates an integrated cluster assigment based on joint inference across data types

### Usage

    iCluster2(x, K, lambda, method=c("lasso","enet","flasso","glasso","gflasso"),
      chr=NULL, maxiter=50, eps=1e-4, eps2=1e-8)

### Arguments

`x` | A list object containing m data matrices representing m different genomic data types measured in a set of n samples. For each matrix, the rows represent samples, and the columns represent genomic features.
`K` | Number of subtypes.
`lambda` | A list with m elements; each element is a vector with one or two elements depending on the methods used.
`method` | Method used for clustering and variable selection.
`chr` | Chromosome labels
`maxiter` | Maximum iteration for the EM algorithm.
`eps` | EM algorithm convegence criterion 1.
`eps2` | EM algorithm convegence criterion 2.

### Value

A list with the following elements.

`cluster` | Cluster assigment.
`centers` | cluster centers.
`Phivec` | parameter phi; a vector.
`beta` | parameter B; a matrix.
`meanZ` | meanZ
`EZZt` | EZZt
`dif` | difference
`iter` | iteration

### Author(s)

Qianxing Mo qianxing.mo@moffitt.org,Ronglai Shen,Sijian Wang

### References

Ronglai Shen, Sijian Wang, Qianxing Mo. (2013). Sparse Integrative Clustering of Multiple Omics Data Sets. Annals of Applied Statistics. 7(1):269-294

### See Also

`plotiCluster`, `compute.pod`, `iClusterPlus`

### Examples

    ## clustering
    n1 = 20
    n2 = 20
    n3 = 20
    n = n1+n2+n3
    p = 5
    q = 100

    x = NULL
    x1a = matrix(rnorm(n1*p), ncol=p)
    x2a = matrix(rnorm(n1*p, -1.5,1), ncol=p)
    x3a = matrix(rnorm(n1*p, 1.5, 1), ncol=p)
    xa = rbind(x1a,x2a,x3a)
    xb = matrix(rnorm(n*q), ncol=q)
    x[[1]] = cbind(xa,xb)

    x1a = matrix(rnorm(n1*p), ncol=p)
    x2a = matrix(rnorm(n1*p, -1.5,1), ncol=p)
    x3a = matrix(rnorm(n1*p, 1.5, 1), ncol=p)
    xa = rbind(x1a,x2a,x3a)
    xb = matrix(rnorm(n*q), ncol=q)
    x[[2]] = cbind(xa,xb)

    x1a = matrix(rnorm(n1*p), ncol=p)
    x2a = matrix(rnorm(n1*p, -1.5,1), ncol=p)
    x3a = matrix(rnorm(n1*p, 1.5, 1), ncol=p)
    xa = rbind(x1a,x2a,x3a)
    xb = matrix(rnorm(n*q), ncol=q)
    x[[3]] = cbind(xa,xb)

    x1a = matrix(rnorm(n1*p), ncol=p)
    x2a = matrix(rnorm(n1*p, -1.5,1), ncol=p)
    x3a = matrix(rnorm(n1*p, 1.5, 1), ncol=p)
    xa = rbind(x1a,x2a,x3a)
    xb = matrix(rnorm(n*q), ncol=q)
    x[[4]] = cbind(xa,xb)

    x1a = matrix(rnorm(n1*p), ncol=p)
    x2a = matrix(rnorm(n1*p, -1.5,1), ncol=p)
    x3a = matrix(rnorm(n1*p, 1.5, 1), ncol=p)
    xa = rbind(x1a,x2a,x3a)
    xb = matrix(rnorm(n*q), ncol=q)
    x[[5]] = cbind(xa,xb)

    method = c('lasso', 'enet', 'flasso', 'glasso', 'gflasso')
    lambda=alist()
    lambda[[1]] = 30
    lambda[[2]] = c(20,1)
    lambda[[3]] = c(20,20)
    lambda[[4]] = 30
    lambda[[5]] = c(30,20)

    chr=c(rep(1,10),rep(2,(p+q)-10))
    date()
    fit2 = iCluster2(x, K=3, lambda, method=method, chr=chr, maxiter=20,eps=1e-4, eps2=1e-8)
    date()

    par(mfrow=c(5,1),mar=c(4,4,1,1))
    for(i in 1:5){
    barplot(fit2$beta[[i]][,1])
    }

    #library(gplots)
    #library(lattice)

    #plotHeatmap(fit2, datasets=x, type=rep("gaussian",length(x)),
       #row.order=c(TRUE,TRUE,FALSE,TRUE,FALSE),
       #sparse=rep(FALSE,length(x)), scale=rep("row",5), width=5,
       #col.scheme=rep(list(bluered(256)),length(x)))

[Package iClusterPlus version 1.22.0 Index]