muffle = function(x) {
expect_warning(res <- x, "to numeric for over time plot")
return(res)
}
test_that("renderOptPathPlot", {
# Test 1D-1D + short names + alpha + title
ps0 = makeParamSet(
makeNumericParam("x")
)
op0 = makeOptPathDF(par.set = ps0, y.names = c("y"), minimize = TRUE)
X = rnorm(14)
dob = c(rep(0, 5), 1:2)
for (i in 1:7) {
addOptPathEl(op0, x = list(
x = X[i * 2]),
y = X[i * 2 - 1],
dob = dob[i])
}
pl = renderOptPathPlot(op0, iter = 0, alpha = FALSE)
pl = lapply(c(0, 2), FUN = function(x) {
renderOptPathPlot(op0, iter = x, short.x.names = "e", short.y.names = "f")
})
pl = plotOptPath(op0, iters = 0:2, pause = FALSE, title = "Optimization Path")
# Test 2D(mixed)-3D + marked + ggplot.theme + log + size
ps1 = makeParamSet(
makeNumericParam("x"),
makeDiscreteParam("z", values = list("a", "b"))
)
op1 = makeOptPathDF(par.set = ps1, y.names = c("y1", "y2", "y3"), minimize = c(TRUE, FALSE, TRUE))
X = rnorm(100)
Z = rnorm(25)
Z = ifelse(Z < 0, "a", "b")
dob = c(rep(0, 5), 1:20)
for (i in 1:25) {
addOptPathEl(op1, x = list(x = abs(X[i * 4 - 3]), z = Z[i]),
y = c(y1 = X[i * 4 - 2], y2 = abs(X[i * 4 - 1]), y3 = abs(X[i * 4])), dob = dob[i])
}
muffle({
pl = renderOptPathPlot(op1, iter = 3)
})
pl = lapply(c(0, 20), FUN = function(x) {
muffle(renderOptPathPlot(op1, iter = x, marked = "best",
ggplot.theme = ggplot2::theme(legend.position = "bottom"),
size.points = 1, size.lines = 3))
})
pl = lapply(c(0, 20), FUN = function(x) {
muffle(renderOptPathPlot(op1, iter = x, marked = c(4, 10, 18), x.over.time = list(c("x"), c("z")),
y.over.time = list(c("y1"), c("y2", "y3")), log = c("x", "y2", "y3")))
})
# Test 1D(discrete)-2D + marked + limits + short names + rest variables
ps2 = makeParamSet(
makeDiscreteParam("x", values = list("a", "b"))
)
op2 = makeOptPathDF(par.set = ps2, y.names = c("y1", "y2"), minimize = c(TRUE, TRUE),
include.extra = TRUE)
X = rep(c("a", "b"), 4)
Y = rnorm(14)
dob = c(rep(0, 5), 1:2)
for (i in 1:5) {
addOptPathEl(op2, x = list(x = X[i]), y = c(y1 = Y[i], y2 = Y[7 + i]), dob = dob[i],
extra = list(extra.var = NA))
}
for (i in 6:7) {
addOptPathEl(op2, x = list(x = X[i]), y = c(y1 = Y[i], y2 = Y[7 + i]), dob = dob[i],
extra = list(extra.var = i))
}
muffle({
pl = renderOptPathPlot(op2, iter = 2, x.over.time = list(c("x"), c("extra.var")),
short.rest.names = c("extra"))
})
pl = lapply(c(0, 2), FUN = function(x) {
muffle(renderOptPathPlot(op2, iter = x, marked = c(3),
xlim = list(YSpace = c(-10, 10)),
ylim = list(YSpace = c(-10, 10), XSpace = c(0, 10)),
short.x.names = "variable1", short.y.names = c("y", "z")))
})
# Test 3D(mixed)-1D + colours + missing values + limits + short names + scale +
# impute.scale + impute.value
ps3 = makeParamSet(
makeNumericParam("x"),
makeNumericParam("y", requires = quote(x < 0.7)),
makeDiscreteParam("z", values = list("a", "b", "c"), requires = quote(x > -0.7))
)
op3 = makeOptPathDF(par.set = ps3, y.names = c("y1"), minimize = c(TRUE))
X = rnorm(7)
X2 = rnorm(7)
Y = rnorm(7)
X2[X >= 0.7] = NA
X3 = rep(c("a", "b", "c"), 5)
X3[X <= -0.7] = NA
dob = c(rep(0, 5), 1:2)
for (i in 1:7) {
addOptPathEl(op3, x = list(x = X[i], y = X2[i], z = X3[i]),
y = c(y1 = Y[i]), dob = dob[i])
}
pl = sapply(c(0, 2), FUN = function(x) {
muffle(renderOptPathPlot(op3, iter = x, scale = "globalminmax", impute.scale = 2,
impute.value = "miss"))
})
pl = sapply(c(0, 2), FUN = function(x) {
muffle(renderOptPathPlot(op3, iter = x, xlim = list(YSpace = c(-0.5, 0.5)),
short.x.names = c("a", "b", "c"), colours = c("black", "yellow", "orange", "green"),
scale = "globalminmax"))
})
# Test subsetting
muffle(renderOptPathPlot(op1, iter = 2, subset.obs = c(1, 2, 6, 7)))
renderOptPathPlot(op1, iter = 0, subset.vars = 1)
muffle(renderOptPathPlot(op1, iter = 0, subset.targets = 2:3))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.