ISKmeans: IS-Kmeans

Description Usage Arguments Details Value Author(s) Examples

View source: R/ISKmeans.R

Description

Integrative Sparse KMeans

Usage

1
2
3
ISKmeans(d, K = NULL, gamma = NULL, alpha = 0.5, group = NULL,
  nstart = 20, wsPre = NULL, penaltyInfo = NULL, sparseStart = TRUE,
  silent = FALSE, maxiter = 20)

Arguments

d

combined data matrix n*J, where n is number of subjects, J=J1+J2+... and J1 is number of features in omics dataset 1 and J2 is number of features in omics dataset 2...

K

number of clusters

gamma

Penalty on total number of features. Larger gamma will yeild small number of selected features.

alpha

balance between group sparsity and individual sparsity. alpha=1 yeilds no group sparsity. alpha=0 yeilds no individual penalty.

group

Prior group information. Potentially these group can contain overlap features. group is a list and each element of the list is feature index.

nstart

Number of initials for Kmeans for sparse Kmeans

wsPre

Initial feature weight.

penaltyInfo

only for the purpose of gap statitics. Here we will fix the penalty design to perform gap statistics. The input should be a list of groupInfo. See groupInfo for details.

sparseStart

Use Sparse Kmeans to do initialization.

silent

Output progress.

maxiter

Maximum numbre of iteration between ws and Cs.

Details

Integrative Sparse KMeans, integrating multiple omics dataset, using prior group information.

Value

m lists, m is length of gamma parameters. Each list is consisting of (ws=ws, Cs=Cs, objective=ADMMobject$objective, BIC=BIC, gamma=agamma,alpha=alpha

ws

weight for each feature. Zero weight means the feature is not selected.

Cs

Cluster Assignment

objective

objective value

obj0

sum of weighted separation ability. This term is for the purpose of gap statistics.

groupInfo

a list containing group design, alpha, gamma

Author(s)

Caleb

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
set.seed(123)

# Generate two random omics datasets
mu <- c(-3,1,3)
Simu1_mRNA <- rbind(cbind(matrix(rnorm(40*5, mu[1], 0.1),40,5),
                          matrix(rnorm(40*5, mu[2], 0.1),40,5),
                          matrix(rnorm(40*5, mu[3], 0.1),40,5)),
                    matrix(rnorm(10*15,0,0.1),10,15))

mu <- c(1,3,-3)
Simu1_methyl <- rbind(cbind(matrix(rnorm(40*5, mu[1], 0.1),40,5),
                            matrix(rnorm(40*5, mu[2], 0.1),40,5),
                            matrix(rnorm(40*5, mu[3], 0.1),40,5)),
                      matrix(rnorm(10*15,0,0.1),10,15))

## feature modules across two datasets
group <- list(c(1:10,51:60), c(11:20,61:70), c(21:30,71:80), c(31:40,81:90))

DList <- rbind(Simu1_mRNA, Simu1_methyl)
dim(DList)

## colSums(module)
K=3
nstart=20
silent=FALSE
maxiter=6
centers=NULL
error=1e-4
sparseStart = TRUE
gamma = 0.2
alpha = 0.5
d <- t(DList)

iRes <- ISKmeans(d, K=3, gamma=0.5, alpha=0.5, group=group)

Caleb-Huo/IS-Kmeans documentation built on May 6, 2019, 9:27 a.m.