Nothing
## ----setup, include = FALSE----------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
out.width = "48%"
)
# Render html vignetes by using devtools::document(roclets = "vignette")
# Render also pdf vignetes by using rmarkdown::render("vignettes/labsimplex.Rmd", "all")
library(labsimplex)
library(ggplot2)
## ---- eval = FALSE------------------------------------------------------
# install.packages("labsimplex")
## ---- eval = FALSE------------------------------------------------------
# devtools::install_github("Crparedes/labsimplex", build_vignettes = TRUE)
## ----surfaces1, echo = TRUE, fig.cap = 'Response surface `exampleSurfaceR2()` in 3D perspective (left) and contour plot (right).', fig.show = "hold"----
prspctv(surface = exampleSurfaceR2, par = list(mar = c(0.5, 0.6, 0, 0)), phi = 30, theta = 30,
ltheta = -120, expand = 0.6, xlab = 'Temperature (K)', ylab = 'pH', zlab = 'Yield (%)')
(cont.surf <- cntr(surface = exampleSurfaceR2, length = 200))
## ----Nprov---------------------------------------------------------------
simplexR2 <- labsimplex(n = 2, centroid = c(7, 340), stepsize = c(1.2, 10),
var.name = c('pH', 'Temperature'))
print(simplexR2)
## ----usrdef--------------------------------------------------------------
coords <- rbind(c(7.1, 325), c(6.5, 350), c(6.5, 300))
simplexR2Manual <- labsimplex(n = 2, usrdef = coords, var.name = c('pH', 'Temperature'))
print(simplexR2Manual, conventions = FALSE)
## ----frf2, message = FALSE-----------------------------------------------
if (!require(FrF2)) message('Please install FrF2 package')
set.seed(1)
(screening <- FrF2(resolution = 3,
factor.names = list(pH = c(6.8, 7.2), Temp = c(330, 350), Conc = c(0.4, 0.6))))
## ----frf2-2--------------------------------------------------------------
simplexR3 <- labsimplex(n = 3, usrdef = matrix(as.numeric(as.matrix(screening)), ncol = 3),
var.name = dimnames(screening)[[2]])
print(simplexR3, conventions = FALSE)
## ----changing------------------------------------------------------------
adjustVertex(simplex = simplexR2, newcoords = list(Vertex.1 = c(7.95, NA), Vertex.2 = c(NA, 342)),
overwrite = TRUE)
print(simplexR2, conventions = FALSE)
## ----plot1SimplexR2, fig.cap = 'Initial two-variables simplex isolated in the space (left) and over the response surface that describes the system (right).', fig.show = "hold"----
plot(simplexR2)
(addSimplex2Surface(p = cont.surf, simplex = simplexR2))
## ----responses, message = FALSE------------------------------------------
(responses <- exampleSurfaceR2(x1 = simplexR2$coords[, 2], x2 = simplexR2$coords[, 1]))
generateVertex(simplex = simplexR2, qflv = responses, crit = 'max',
algor = 'fixed', overwrite = TRUE)
print(simplexR2, conventions = FALSE)
## ----plot2SimplexR2, message = FALSE, fig.cap = 'First movement (left) and complete path (right) of a fixed step-size simplex optimazation over the response surface `exampleSurfaceR2()`.', fig.show = "hold"----
(addSimplex2Surface(p = cont.surf, simplex = simplexR2))
simplexR2 <- exampleOptimization(surface = exampleSurfaceR2, simplex = simplexR2)
(addSimplex2Surface(p = cont.surf, simplex = simplexR2))
## ----plot3SimplexR2, message = FALSE, fig.cap = 'Complete path of a variable step-size simplex optimazation over the response surface `exampleSurfaceR2()`.', fig.show = "hold"----
simplexR2Var <- exampleOptimization(surface = exampleSurfaceR2, algor = 'variable',
centroid = c(7, 340), stepsize = c(1.2, 10))
(addSimplex2Surface(p = cont.surf, simplex = simplexR2Var))
## ----plot4SimplexR2, message = FALSE, fig.cap = 'Responses vs. vertex number for fixed (right) and a variable (left) step-size simplex optimizationover the response surface `exampleSurfaceR2()`', fig.show = "hold"----
plotSimplexResponse(simplexR2)
plotSimplexResponse(simplexR2Var)
## ----export--------------------------------------------------------------
simplexExport(simplex = simplexR3)
## ----import--------------------------------------------------------------
print(simplexR3, conventions = FALSE)
rm(simplexR3)
exists('simplexR3')
# We have exported and removed the 'simplexR3' object. Now it will be imported
simplexImport(filename = 'simplexR3')
print(simplexR3, conventions = FALSE)
## ----plotsW2noise, echo = TRUE, results = 'hide', message = FALSE, warning = FALSE, fig.cap = '3D perspective (left), simplex path over the contour plot (center) and response against vertex number (right) for fixed step-size simplex optimization over the response surface `exampleSurfaceR2()` at low noise (top), medium noise (middle) and high noise (bottom).', fig.show = "hold", out.width = "31%"----
noises <- c(3, 8, 18)
seeds <- c(0, 13, 13)
for (ii in 1:3) {
prspctv(length = 45, noise = noises[ii], surface = exampleSurfaceR2,
par = list(mar = c(1.2, 1, 0, 0)), ltheta = -120, shade = 0.2, expand = 0.6,
xlab = 'Temperature (K)', ylab = 'pH', zlab = 'Yield (%)', ticktype = "detailed")
set.seed(seeds[ii])
simplexNoisy <- exampleOptimization(surface = exampleSurfaceR2, noise = noises[ii],
centroid = c(7, 340), stepsize = c(1.2, 10))
cntr.ns <- cntr(surface = exampleSurfaceR2, length = 200, noise = noises[ii])
print(addSimplex2Surface(p = cntr(surface = exampleSurfaceR2, length = 200, noise = noises[ii]),
simplex = simplexNoisy))
plotSimplexResponse(simplexNoisy)
}
## ----plotsW3noise, echo = TRUE, results = 'hide', message = FALSE, warning = FALSE, fig.cap = '3D perspective (left), simplex path over the contour plot (center) and response against vertex number (right) for variable step-size simplex optimization over the response surface `exampleSurfaceR2()` at low noise (top), medium noise (middle) and high noise (bottom).', fig.show = "hold", out.width = "31%"----
noises <- c(3, 8, 18)
seeds <- c(0, 65, 13)
for (ii in 1:3) {
prspctv(length = 45, noise = noises[ii], surface = exampleSurfaceR2,
par = list(mar = c(1.2, 1, 0, 0)), ltheta = -120, shade = 0.2, expand = 0.6,
xlab = 'Temperature (K)', ylab = 'pH', zlab = 'Yield (%)', ticktype = "detailed")
set.seed(seeds[ii])
simplexNoisy <- exampleOptimization(surface = exampleSurfaceR2, noise = noises[ii],
centroid = c(7, 340), stepsize = c(1.2, 10),
algor = 'variable')
cntr.ns <- cntr(surface = exampleSurfaceR2, length = 200, noise = noises[ii])
print(addSimplex2Surface(p = cntr(surface = exampleSurfaceR2, length = 200, noise = noises[ii]),
simplex = simplexNoisy))
plotSimplexResponse(simplexNoisy)
}
## ----surfaces2, echo = TRUE, fig.cap = 'Response surface `exampleSurfaceR2.2pks()` in 3D perspective (left) and contour plot (right).', fig.show = "hold"----
prspctv(surface = exampleSurfaceR2.2pks, par = list(mar = c(0.5, 0.6, 0, 0)), phi = 30, theta = 30,
ltheta = -120, expand = 0.6, xlab = 'Temperature (K)', ylab = 'pH', zlab = 'Yield (%)')
(cont.surf2 <- cntr(surface = exampleSurfaceR2.2pks, length = 200))
## ----LocalOptima, echo = TRUE, results = 'hide', message = FALSE, warning = FALSE, fig.cap = 'Complete paths of fixed (up) and variable (down) step-size simplex optimization using centroids that make the simplex to move towards the global maximun (left) and towarsd a local maximum (rigth).', fig.show = "hold"----
addSimplex2Surface(p = cont.surf2,
simplex = exampleOptimization(surface = exampleSurfaceR2.2pks,
centroid = c(5.5, 315),
stepsize = c(-1.5, 15),
experiments = 13))
addSimplex2Surface(p = cont.surf2,
simplex = exampleOptimization(surface = exampleSurfaceR2.2pks,
centroid = c(1.5, 310),
stepsize = c(-1.5, 15),
experiments = 13))
addSimplex2Surface(p = cont.surf2,
simplex = exampleOptimization(surface = exampleSurfaceR2.2pks,
centroid = c(5.5, 315),
stepsize = c(-1.5, 15),
experiments = 17, algor = 'variable'))
addSimplex2Surface(p = cont.surf2,
simplex = exampleOptimization(surface = exampleSurfaceR2.2pks,
centroid = c(1.5, 310),
stepsize = c(-1.5, 15),
experiments = 17, algor = 'variable'))
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.