inst/doc/OmicsMarkeR.R

## ----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()

Try the OmicsMarkeR package in your browser

Any scripts or data that you put into this service are public.

OmicsMarkeR documentation built on April 28, 2020, 6:54 p.m.