Description Usage Arguments Details Value Author(s) Examples
MISKmenas
1 2 3 4 |
d |
A list of S studies, each study is a 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. |
lambda |
A tuning parameter controlling the balance between separation ability (BCSS/TSS) and matching function. lambda is set to be 0.5 by default. |
alpha |
balance between group sparsity and individual sparsity. alpha=1 yeilds no group sparsity. alpha=0 yeilds no individual penalty. Default alpha=0.5 |
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. |
silent |
Output progress. |
maxiter |
Maximum numbre of iteration between ws and Cs. |
sampleSizeAdjust |
logical argument, controlling whether to adjust for sample size. If true, that means study with larger sample size will have a larger impact. If false, each study has equal contribution. Without prior information, sampleSizeAdjust=FALSE is suggested since we are not sure about data quality. |
Meta-analytic multi-level omics data integration with incorporation of prior group structure
m lists, m is length of gamma parameters. If gamma is a scalar, m = 1. The following items are included in the list.
ws |
weight for each feature. Zero weight means the feature is not selected. |
Cs |
Cluster Assignment |
obj0 |
sum of weighted separation ability. This term is for the purpose of gap statistics. |
objective |
objective value |
groupInfo |
a list containing group design, alpha, gamma |
Caleb
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 35 36 37 38 39 40 41 42 43 44 45 | S <- 2
K <- 3
G <- 1000
g1 <- 50
g2 <- 50
n0 <- 20
n <- K*n0
labels <- cut(1:n,breaks=K,labels=FALSE)
set.seed(32611)
S1 <- matrix(rnorm(G*n), nrow=G, ncol=n)
S2 <- matrix(rnorm(G*n), nrow=G, ncol=n)
S1[1:g1, labels==1] <- S1[1:g1, labels==1] + 2
S1[1:g1, labels==3] <- S1[1:g1, labels==3] - 2
S1[g1 + 1:g2, labels==1] <- S1[g1 + 1:g2, labels==1] - 2
S1[g1 + 1:g2, labels==2] <- S1[g1 + 1:g2, labels==2] + 2
heatmap(S1, Rowv=NA, Colv=NA)
S2[1:g1, labels==2] <- S2[1:g1, labels==2] + 2
S2[1:g1, labels==1] <- S2[1:g1, labels==1] - 2
S2[g1 + 1:g2, labels==2] <- S2[g1 + 1:g2, labels==2] - 2
S2[g1 + 1:g2, labels==3] <- S2[g1 + 1:g2, labels==3] + 2
heatmap(S2, Rowv=NA, Colv=NA)
S = list(t(S1),t(S2))
groups <- Map('c',1:g1,g1 + 1:g2)
res <- MISKmeans(d = S, K = 3, gamma = 0.4, group = groups)
names(res)
order_S1 <- order(res$Cs[[1]])
order_S2 <- order(res$Cs[[2]])
S1_sub <- S1[res$ws!=0, order_S1]
S2_sub <- S2[res$ws!=0, order_S2]
col_S1 <- palette()[res$Cs[[1]][order_S1]]
col_S2 <- palette()[res$Cs[[2]][order_S2]]
heatmap(S1_sub, Rowv=NA, Colv=NA, ColSideColors=col_S1)
heatmap(S2_sub, Rowv=NA, Colv=NA, ColSideColors=col_S2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.