Nothing
## ----setup, include=FALSE-----------------------------------------------------
library(knitr)
opts_chunk$set(
fig.align = "center",
out.extra = 'style="max-width:100%; overflow-x:auto; white-space: nowrap;"',
tidy = FALSE
)
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
message = FALSE,
warning = FALSE
)
## -----------------------------------------------------------------------------
# load package
library(ELAplus)
# load test data set
# species abundance table
data("baseabtable")
head(baseabtable)
# metadata (environmental factors)
data("basemetadata")
head(basemetadata)
## -----------------------------------------------------------------------------
# load package
library(ELAplus)
# Generate random parameters
hb_params <- hb.paramgen(24, ne = 2) # the number of environmental factors
h.act <- hb_params[[1]]
j.act <- hb_params[[2]]
g.act <- hb_params[[3]]
# Simulate community composition data
rand_data <- HeatBath(100, 512, h.act, j.act, g = g.act)
rand_mat <- rand_data[[1]]
rand_enmat <- rand_data[[2]]
## -----------------------------------------------------------------------------
formatted <- Formatting(baseabtable = baseabtable, basemetadata = basemetadata)
## ----eval=FALSE---------------------------------------------------------------
# formatted <- Formatting(baseabtable = baseabtable, basemetadata = basemetadata,
# normalize = 1, parameters = c(0.01, 0.01, 0.99))
# #> Processed 256 samples.
# #> Relative abundance threshold = 0.01
# #> Occurrence threshold (lower) = 0.01
# #> Occurrence threshold (upper) = 0.99
# #> Selected 16 out of 16 species.
# ocvecs <- formatted[[1]] # community composition binary matrix
# abvecs <- formatted[[2]] # community abundance matrix (not binarized)
# envecs <- formatted[[3]] # environmental variables (optional)
## ----echo=FALSE, out.width="80%"----------------------------------------------
knitr::include_graphics("figures/ParameterMatrix.png")
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/EPMEM_abstract2.png")
## ----eval=FALSE---------------------------------------------------------------
# bpresult <- Findbp(ocvecs, rep = 2, threads = 2,
# cvmode="10fold",nrepeat = 10, we=c(0.001),totalit=4000,
# lmd=c(1e-05,1e-03,0.01),maxlrs = c(0.005),
# tol=0.03, runadamW=TRUE,sparse=TRUE,fastfitting=TRUE)
# #Start hyper-parameter search:
# #There are 300 tasks
# #Finished 300 tasks
# #SA: elapsed time 15.08 sec
#
# bp <- bpresult[[1]] # typically best bpresult
# bpm <- as.numeric(unlist(strsplit(names(bp)[1], split = "_")))
# allresults <- bpresult[[2]]
## ----plotSAtest, eval=FALSE---------------------------------------------------
# plotSAtest(allresults)
# # "id" corresponds to hyperparameter: lmd_we_maxlr
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/plotSAtest.png")
## ----eval=FALSE---------------------------------------------------------------
# sa <- runSA(
# ocvecs,
# enmat = NULL,
# rep = 32,
# getall = FALSE,
# lambda = bpm[[1]],
# we = bpm[[2]],
# maxlr = bpm[[3]],
# totalit = bpm[[4]]
# )
# #> Start parameter fitting:
# #> .SA: elapsed time 0.13 sec
## ----eval=FALSE---------------------------------------------------------------
# ela <- ELA(
# sa,
# env = NULL,
# threads = 1,
# SS.itr = 20000,
# FindingTip.itr = 10000,
# reporting = TRUE
# )
# #> Start ELA:
# #> 7 stable states were found.
# #> Checking 21 tipping points.
# #> converting...
# #> ELA: elapsed time 2.19 sec
## ----eval=FALSE---------------------------------------------------------------
# ela[[1]] # stable state IDs
# #> [1] "09x" "01t" "EWB" "EY8" "1uV" "1mL" "17s"
# ela[[2]] # stable state energies
# #> [1] -11.099418 -10.297931 -9.544050 -8.961634 -8.005040 -6.440385 -6.269140
## ----eval=FALSE---------------------------------------------------------------
# elap <- ELPruning(ela, th=0.1, type="relative")
# #> Start pruning:
# #> *...
# #> ELPruning: elapsed time 0.05 sec
## ----eval=FALSE---------------------------------------------------------------
# elap[[1]][[1]] # updated stable state IDs
# #> [1] "09x" "EWB" "EY8" "1uV"
# elap[[1]][[2]] # updated stable state energies
# #> [1] -11.099418 -9.544050 -8.961634 -8.005040
## ----eval=FALSE---------------------------------------------------------------
# elap[[2]]
# #> ss.before.pruning ss.after.pruning
# #> 1 09x 09x
# #> 2 01t 09x
# #> 3 EWB EWB
# #> 4 EY8 EY8
# #> 5 1uV 1uV
# #> 6 1mL 09x
# #> 7 17s 09x
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/deltaE_scheme.png")
## ----eval=FALSE---------------------------------------------------------------
# elap <- ELPruning(ela, th=0.2, type="relative")
# #> Start pruning:
# #> *...
# #> ELPruning: elapsed time 0.05 sec
# elap[[1]][[1]] # updated stable state IDs
# #> [1] "09x" "EWB" "1uV"
## ----showDG, eval=FALSE-------------------------------------------------------
# # Before pruning
# showDG(ela, ocvecs, "example")
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/DGexample.png")
## ----showDG_pruned, eval=FALSE------------------------------------------------
# # After pruning
# showDG(elap[[1]], ocvecs, "example")
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/DGexample_pruned.png")
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/deltaE_hist.png")
## ----showDG_pvalue, eval=FALSE------------------------------------------------
# bs_params <- bootstrap_SA(ocvecs, rep = 16, threads=8, bootstrap.it = 1000,
# lambda = bpm[[1]],we = bpm[[2]],
# maxlr = bpm[[3]], totalit = bpm[[4]])
#
# bootstrap <- bootstrap_ELA(bs_params,ocvecs,ela=ela,threads = 1)
# ela_rep <- bootstrap[[1]]
# bootstrap_ene <- bootstrap[[2]]
# showDG(ela_rep,ocvecs,bootstrap_ene = bootstrap_ene, min_pval = 0.01,
# scale_labels = c(0.05,0.1,0.2,0.5))
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/DGexample_pval.png")
## ----showDG_IQR_pruned, eval=FALSE--------------------------------------------
# elap_rep <- ELPruning(ela, type = "bootstrap",bootstrap_ene=bootstrap_ene,lower_qr = 0.25)
# showDG(ela_rep,ocvecs,bootstrap_ene = bootstrap_ene, min_pval = 0.01,
# scale_labels = c(0.05,0.1,0.2,0.5))
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/DGexample_pval_pruned.png")
## ----showDG_manual, eval=FALSE------------------------------------------------
# grobj_to_plot <- showDG(ela_rep,ocvecs,bootstrap_ene = bootstrap_ene,getGraphObj = TRUE)
# grobj_point <- grobj_to_plot[grobj_to_plot$point_str != "",]
# g <- ggplot(
# grobj_to_plot,
# aes(x=.data$nodes2xposi, y=.data$energy, label=.data$point_str)) +
# xlab("") + geom_text(hjust=0.75, vjust=2, aes(fontface=2)) + geom_path() +
# geom_point(
# data = grobj_point,
# mapping = aes(
# x = .data$nodes2xposi,
# y = .data$energy,
# color = .data$energy,
# shape = .data$type,
# ),size = 4
# ) +
# scale_color_viridis_c(option = "plasma",alpha=0.8,
# direction=-1,na.value = "grey") +
# coord_cartesian(xlim=c(0.75,7.5), ylim=c(-5.8,-11.5))
# plot(g)
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/DG_manual.png")
## ----ShowIntrGraph, eval=FALSE------------------------------------------------
# showIntrGraph(
# elap[[1]],
# sa,
# th = 0.01,
# annot_adj = c(0.75, 1.00)
# )
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/IntrGraph.png")
## ----eval=FALSE---------------------------------------------------------------
# bpresult <- Findbp(ocvecs, enmat = envecs, rep = 2, threads = 2,
# cvmode="10fold",nrepeat = 10, we=c(0.001),totalit=4000,
# lmd=c(1e-05,1e-03,0.01),maxlrs = c(0.005),
# tol=0.03, runadamW=TRUE,sparse=TRUE,fastfitting=TRUE)
# bp <- bpresult[[1]]
# bpm <- as.numeric(unlist(strsplit(names(bp)[1], split = "_")))
#
# sa <- runSA(
# ocvecs,
# enmat = envecs,
# rep = 16,
# getall = FALSE,
# lambda = bpm[[1]],
# we = bpm[[2]],
# maxlr = bpm[[3]],
# totalit = bpm[[4]]
# )
#
## ----eval=FALSE---------------------------------------------------------------
# # This process takes few minutes with a small number of threads, and here pre-computed results are shown.
# gela <- GradELA(
# sa = sa,
# eid = "factor.1",
# enmat = envecs,
# env = NULL,
# range = c(-1, 1),
# steps = 32,
# th = 0.05,
# threads = 8,
# pruning_type = "relative",
# bs_params = bs_params,
# ocmat = ocvecs)
## ----eval=FALSE---------------------------------------------------------------
# # This process takes few minutes with a small number of threads, and here pre-computed results are shown.
# bs_params <- bootstrap_SA(ocvecs, enmat = envecs,rep = 16, threads=8,bootstrap.it = 1000,
# lambda = bpm[[1]],we = bpm[[2]],
# maxlr = bpm[[3]], totalit = bpm[[4]])
#
# gela <- GradELA(
# sa = sa,
# eid = "factor.1",
# enmat = envecs,
# env = NULL,
# range = c(-1, 1),
# steps = 32,
# lower_qr = 0.25,
# threads = 8,
# pruning_type = "bootstrap",
# bs_params = bs_params,
# ocmat = ocvecs)
## ----eval=FALSE---------------------------------------------------------------
# gela[[1]][[1]][[1]][[1]] # stable state IDs at 1st environmental parameter
# # [1] "0Ht" "EWB" "1uV"
# gela[[1]][[20]][[1]][[1]] # stable state IDs at 20th environmental parameter
# # [1] "09x" "EWB"
## ----showSSD, eval=FALSE, fig.width=8, fig.height=6, message=FALSE------------
# # GradELA result (ELPruning with type="relative").
# showSSD(gela)
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/SSD.png")
## ----showSSD_bootstrap, eval=FALSE, fig.width=8, fig.height=6, message=FALSE----
# # GradELA result (ELPruning with type="bootstrap").
# showSSD(gela)
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/SSD_pruned.png")
## ----showSSD_ggplot, eval=FALSE, fig.width=8, fig.height=6, message=FALSE-----
# ssd_df <- showSSD_ggplot(gela,plot = FALSE,getSSDobj = TRUE)
# g <- ggplot(ssd_df, aes(x = env, y = Energy, color = SS_ID)) +
# geom_point(shape = 19) +
# geom_line(aes(group = SS_ID))
#
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/SSD_ggplot.png")
## ----GELA3D-demo, eval=FALSE, fig.width=8, fig.height=6, message=FALSE--------
# # This process takes few minutes, and here pre-computed result is drawn.
# gelaobj <- GELAObj(gela, sa=sa,threads=2)
# showGELA3D(gelaobj,theta = 30,phi = 30)
## ----echo=FALSE, out.width="95%"----------------------------------------------
knitr::include_graphics("figures/GELA3D.png")
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.