Nothing
## ----pkgmaker_preamble, echo=FALSE, results='asis'----------------------------
library(NMF)
latex_preamble()
if(!requireNamespace("Biobase")) BiocManager::install("Biobase")
## ----bibliofile, echo=FALSE, results='asis'-----------------------------------
latex_bibliography('NMF')
## ----options, include=FALSE, verbose=TRUE-------------------------------------
#options(prompt=' ')
#options(continue=' ')
set.seed(123456)
## ----data---------------------------------------------------------------------
# random data that follow an 3-rank NMF model (with quite some noise: sd=2)
X <- syntheticNMF(100, 3, 20, noise=2, factors = TRUE)
Xmat <- X[[1]]
# row annotations and covariates
n <- nrow(Xmat)
d <- rnorm(n)
e <- unlist(mapply(rep, c('X', 'Y', 'Z'), 10))
e <- c(e, rep(NA, n-length(e)))
rdata <- data.frame(Var=d, Type=e)
# column annotations and covariates
p <- ncol(Xmat)
a <- sample(c('alpha', 'beta', 'gamma'), p, replace=TRUE)
# define covariates: true groups and some numeric variable
c <- rnorm(p)
# gather them in a data.frame
covariates <- data.frame(a, X$pData, c)
## ----figoptions, include=FALSE------------------------------------------------
library(knitr)
opts_chunk$set(fig.width=14, fig.height=7)
## ----heatmap_data-------------------------------------------------------------
par(mfrow=c(1,2))
aheatmap(Xmat, annCol=covariates, annRow=X$fData)
aheatmap(Xmat)
## ----model, cache=TRUE--------------------------------------------------------
res <- nmf(Xmat, 3, nrun=10)
res
## ----coefmap_res, fig.keep='last'---------------------------------------------
opar <- par(mfrow=c(1,2))
# coefmap from multiple run fit: includes a consensus track
coefmap(res)
# coefmap of a single run fit: no consensus track
coefmap(minfit(res))
par(opar)
## ----coefmap_default, eval=FALSE----------------------------------------------
# Rowv = NA
# Colv = TRUE
# scale = 'c1'
# color = 'YlOrRd:50'
# annCol = predict(object) + predict(object, 'consensus')
## ----coefmap_custom, fig.keep='last', tidy=FALSE------------------------------
opar <- par(mfrow=c(1,2))
# removing all automatic annotation tracks
coefmap(res, tracks=NA)
# customized plot
coefmap(res, Colv = 'euclidean'
, main = "Metagene contributions in each sample", labCol = NULL
, annRow = list(Metagene=':basis'), annCol = list(':basis', Class=a, Index=c)
, annColors = list(Metagene='Set2')
, info = TRUE)
par(opar)
## ----basismap_res, fig.keep='last'--------------------------------------------
opar <- par(mfrow=c(1,2))
# default plot
basismap(res)
# customized plot: only use row special annotation track.
basismap(res, main="Metagenes", annRow=list(d, e), tracks=c(Metagene=':basis'))
par(opar)
## ----basismap_default, eval=FALSE---------------------------------------------
# Colv = NA
# scale = 'r1'
# color = 'YlOrRd:50'
# annRow = predict(object, 'features')
## ----consensusmap_res, fig.keep='last'----------------------------------------
opar <- par(mfrow=c(1,2))
# default plot
consensusmap(res)
# customized plot
consensusmap(res, annCol=covariates, annColors=list(c='blue')
, labCol='sample ', main='Cluster stability'
, sub='Consensus matrix and all covariates')
par(opar)
## ----cmap_default, eval=FALSE-------------------------------------------------
# distfun = function(x) as.dist(1-x) # x being the consensus matrix
# hclustfun = 'average'
# Rowv = TRUE
# Colv = "Rowv"
# color = '-RdYlBu'
## ----estimate, cache=TRUE-----------------------------------------------------
res2_7 <- nmf(Xmat, 2:7, nrun=10, .options='v')
class(res2_7)
## ----consensusmap_estimate, fig.keep='last'-----------------------------------
consensusmap(res2_7)
## ----fit_methods, cache=TRUE--------------------------------------------------
res_methods <- nmf(Xmat, 3, list('lee', 'brunet', 'nsNMF'), nrun=10)
class(res_methods)
## ----consensusmap_methods, fig.width=10, fig.height=7, fig.keep='last'--------
consensusmap(res_methods)
## ----demo_hm, eval=FALSE------------------------------------------------------
# demo('aheatmap')
# # or
# demo('heatmaps')
## ----sessionInfo, echo=FALSE, results='asis'----------------------------------
toLatex(sessionInfo())
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.