## ----style, eval=TRUE, echo=FALSE, results="asis"-------------------------- BiocStyle::latex() ## ----install, eval = FALSE------------------------------------------------- # if (!requireNamespace("BiocManager", quietly=TRUE)) # install.packages("BiocManager") # BiocManager::install("OmicsMarkeR") ## ----datagen--------------------------------------------------------------- library("OmicsMarkeR") set.seed(123) dat.discr <- create.discr.matrix( create.corr.matrix( create.random.matrix(nvar = 50, nsamp = 100, st.dev = 1, perturb = 0.2)), D = 10 ) ## ----fs.stability---------------------------------------------------------- vars <- dat.discr$discr.mat groups <- dat.discr$classes fits <- fs.stability(vars, groups, method = c("plsda", "rf"), f = 10, k = 3, k.folds = 10, verbose = 'none') ## ----performance----------------------------------------------------------- performance.metrics(fits) fits$RPT ## ----feature.table--------------------------------------------------------- feature.table(fits, "plsda") ## ----predictClasses, eval=FALSE-------------------------------------------- # # # create some 'new' data # newdata <- create.discr.matrix( # create.corr.matrix( # create.random.matrix(nvar = 50, # nsamp = 100, # st.dev = 1, # perturb = 0.2)), # D = 10 # )$discr.mat # # # original data combined to a data.frame # orig.df <- data.frame(vars, groups) # # # see what the PLSDA predicts for the new data # # NOTE, newdata does not require a .classes column # predictNewClasses(fits, "plsda", orig.df, newdata) ## ----ensemble, eval=FALSE-------------------------------------------------- # fits <- fs.ensembl.stability(vars, # groups, # method = c("plsda", "rf"), # f = 10, # k = 3, # k.folds = 10, # verbose = 'none') ## ----aggregation----------------------------------------------------------- # test data ranks <- replicate(5, sample(seq(50), 50)) row.names(ranks) <- paste0("V", seq(50)) head(aggregation(ranks, "CLA")) ## ----grid, eval=FALSE------------------------------------------------------ # # requires data.frame of variables and classes # plsda <- denovo.grid(orig.df, "plsda", 3) # rf <- denovo.grid(orig.df, "rf", 5) # # # create grid list # # Make sure to assign appropriate model names # grid <- list(plsda=plsda, rf=rf) # # # pass to fs.stability or fs.ensemble.stability # fits <- fs.stability(vars, # groups, # method = c("plsda", "rf"), # f = 10, # k = 3, # k.folds = 10, # verbose = 'none', # grid = grid) # ## ----metabs---------------------------------------------------------------- metabs <- paste("Metabolite", seq(20), sep="_") ## ----samples--------------------------------------------------------------- set.seed(13) run1 <- sample(metabs, 10) run2 <- sample(metabs, 10) ## ----jaccard--------------------------------------------------------------- jaccard(run1, run2) ## ----kuncheva-------------------------------------------------------------- # In this case, 20 original variables kuncheva(run1, run2, 20) ## ----repeat.metabs--------------------------------------------------------- set.seed(21) # matrix of Metabolites identified (e.g. 5 trials) features <- replicate(5, sample(metabs, 10)) ## ----pairwise.stability---------------------------------------------------- pairwise.stability(features, "sorensen") ## ----model.stability------------------------------------------------------- set.seed(999) plsda <- replicate(5, paste("Metabolite", sample(metabs, 10), sep="_")) rf <- replicate(5, paste("Metabolite", sample(metabs, 10), sep="_")) features <- list(plsda=plsda, rf=rf) # nc may be omitted unless using kuncheva pairwise.model.stability(features, "kuncheva", nc=20) ## ----permutations, eval=FALSE---------------------------------------------- # # permuate class # perm.class(fits, vars, groups, "rf", k.folds=5, # metric="Accuracy", nperm=10) # # # # permute variables/features # perm.features(fits, vars, groups, "rf", # sig.level = .05, nperm = 10) ## ----doMC, eval=FALSE------------------------------------------------------ # library(doMC) # # n <- detectCores() # registerDoMC(n) ## ----SNOW, eval=FALSE------------------------------------------------------ # library(parallel) # library(doSNOW) # # # get number of cores # n <- detectCores() # # # make clusters # cl <- makeCluster(n) # # # register backend # registerDoSNOW(cl) ## ----sessionInfo----------------------------------------------------------- sessionInfo()