Nothing
context("testplot")
test_that("Plots work", {
SG <- CGGPcreate(d=3, batchsize=20, corr="m52")
f <- function(x){x[1]+x[2]*log(x[1]+.1)+sin(2*pi*4*x[2]^2) + sqrt(x[1])*cos(2*pi*5*x[3])}
y <- apply(SG$design, 1, f)
# SG <- CGGPfit(SG, Y=y)
expect_error(SG <- CGGPfit(SG, Y=y), NA)
# Heat map
pheat <- CGGPplotheat(SG)
expect_is(pheat, "gg")
expect_is(pheat, "ggplot")
# Histogram
phist <- CGGPplothist(SG)
expect_is(phist, "gg")
expect_is(phist, "ggplot")
# # Don't actually want warning for log scale, but getting it, so expect it
# expect_warning(print(phist))
# Blockplot
expect_error(bp <- CGGPplotblocks(SG), NA)
expect_is(bp, "ggplot")
# Blockplot from matrix
mat <- matrix(c(1,1,1,2,2,1,2,2,1,3), ncol=2, byrow=TRUE)
expect_error(bp <- CGGPplotblocks(mat), NA)
expect_is(bp, "ggplot")
# Error if not CGGP object or matrix
expect_error(bp <- CGGPplotblocks(c(0,1,2)))
# Single plot with 2D matrix
# Validation plot
Xval <- matrix(runif(3*100), ncol=3)
Yval <- apply(Xval, 1, f)
pval <- CGGPvalplot(CGGP=SG, Xval=Xval, Yval=Yval)
expect_is(pval, "gg")
expect_is(pval, "ggplot")
# Val stats
expect_error(vstats <- valstats(c(0,1,2), c(.01,.01,.01), c(0,1.1,1.9)), NA)
expect_is(vstats, "data.frame")
expect_equal(nrow(vstats), 1)
rm(vstats)
expect_error(vstats <- valstats(c(0,1,2), c(.01,.01,.01), c(0,1.1,1.9), MAE=TRUE), NA)
rm(vstats)
expect_error(vstats <- valstats(c(0,1,2), c(.01,.01,.01), c(0,1.1,1.9),
metrics=function(a,b,c)mean(abs(a-c))),NA)
rm(vstats)
expect_error(vstats <- valstats(c(0,1,2), c(.01,.01,.01), c(0,1.1,1.9),
metrics=list(function(a,b,c)mean(abs(a-c)))), NA)
rm(vstats)
expect_error(vstats <- valstats(c(0,1,2), c(.01,.01,.01), c(0,1.1,1.9),
metrics=list(mae=function(a,b,c)mean(abs(a-c)))), NA)
rm(vstats)
expect_error(vstats <- valstats(predmean=c(0,1,2), Yval=c(0,1.1,1.9)), NA)
expect_is(vstats, "data.frame")
expect_equal(nrow(vstats), 1)
rm(vstats)
# CGGP Val stats
vstats <- CGGPvalstats(SG, Xval, Yval)
expect_is(vstats, "data.frame")
expect_equal(nrow(vstats), 1)
rm(Xval, Yval)
# Multiple outputs
SG2 <- CGGPcreate(d=3, batchsize=100)
f1 <- function(x){x[1]+x[2]^2/(x[1]+1) +sin(x[1]*x[3])}
f2 <- function(x){x[1]^1.3+.4*sin(2*pi*x[2])*x[1] + (x[1]+1)*exp(x[3])+10}
y1 <- apply(SG2$design, 1, f1)#+rnorm(1,0,.01)
y2 <- apply(SG2$design, 1, f2)#+rnorm(1,0,.01)
y <- cbind(y1, y2)
SG2 <- CGGPfit(SG2, Y=y)
SG2sep <- CGGPfit(SG2, Y=y, separateoutputparameterdimensions = T)
Xval2 <- matrix(runif(3*100), ncol=3)
Yval2 <- cbind(apply(Xval2, 1, f1),
apply(Xval2, 1, f2))
# Error with Yval is bad
expect_error(CGGPvalstats(SG2, Xval2, cbind(Yval2, Yval2)))
sv <- CGGPvalstats(SG2, Xval2, Yval2)
expect_is(sv, "data.frame")
expect_equal(nrow(sv), 2)
# expect_true(all(sv$RMSE<.1))
expect_equal(nrow(CGGPvalstats(SG2, Xval2, Yval2, bydim=FALSE)), 1)
expect_error(CGGPvalstats(SG2, Xval2, Yval2[,1]))
# Val plot
pval <- CGGPvalplot(CGGP=SG2, Xval=Xval2, Yval=Yval2)
expect_is(pval, "gg")
expect_is(pval, "ggplot")
pval2 <- CGGPvalplot(CGGP=SG2, Xval=Xval2, Yval=Yval2, d=2)
expect_is(pval2, "gg")
expect_is(pval2, "ggplot")
# Corr plot
expect_error(p <- CGGPplotcorr(), NA)
expect_is(p, "ggplot")
expect_error(p <- CGGPplotcorr(CGGP_internal_CorrMatCauchySQ, theta=c(-.9,.8,.7,-.8)), NA)
expect_is(p, "ggplot")
expect_error(p <- CGGPplotcorr(SG), NA)
expect_is(p, "ggplot")
expect_error(p <- CGGPplotcorr(SG2), NA)
expect_is(p, "ggplot")
expect_error(p <- CGGPplotcorr(SG2sep), NA)
expect_is(p, "ggplot")
expect_error(p <- CGGPplotcorr(SG2sep, outdims = 2), NA)
expect_is(p, "ggplot")
rm(p)
# slice plot
# These should work fine, return ggplot
expect_error(pp1 <- CGGPplotslice(SG), NA)
expect_is(pp1, "ggplot")
expect_error(pp1 <- CGGPplotslice(SG2), NA)
expect_is(pp1, "ggplot")
expect_error(pp1 <- CGGPplotslice(SG2, outdims = 2), NA)
expect_is(pp1, "ggplot")
expect_error(pp2 <- CGGPplotslice(SG, proj = c(0)), NA)
expect_is(pp2, "ggplot")
# Error if proj is not 1 or d dim
expect_error(CGGPplotslice(SG, proj=c(1,1)))
expect_error(CGGPplotslice(SG, proj=c(1,1,1,1)))
# Error if not all evaluated
expect_error(CGGPplotslice(CGGPappend(SG, 16)))
rm(pp1, pp2)
# Variogram plot
expect_error(vario <- CGGPplotvariogram(SG), NA)
expect_is(vario, "ggplot")
rm(vario)
expect_error(vario <- CGGPplotvariogram(SG2, facet = 1), NA)
expect_is(vario, "ggplot")
rm(vario)
expect_error(vario <- CGGPplotvariogram(SG2, facet = 2), NA)
expect_is(vario, "ggplot")
rm(vario)
expect_error(vario <- CGGPplotvariogram(SG2, facet = 3), NA)
expect_is(vario, "ggplot")
rm(vario)
expect_error(vario <- CGGPplotvariogram(SG2sep, facet = 1), NA)
expect_is(vario, "ggplot")
rm(vario)
expect_error(vario <- CGGPplotvariogram(SG2sep, facet = 1, outdims = 2), NA)
expect_is(vario, "ggplot")
rm(vario)
expect_error(CGGPplotvariogram(SG2, facet = "not valid facet"))
# Theta plot
expect_error(tp <- CGGPplottheta(SG), NA)
expect_is(tp, "ggplot")
rm(tp)
expect_error(tp <- CGGPplottheta(SG2), NA)
expect_is(tp, "ggplot")
rm(tp)
expect_error(tp <- CGGPplottheta(SG2sep), NA)
expect_is(tp, "ggplot")
rm(tp)
# Block selection plot
expect_error(tp <- CGGPplotblockselection(SG), NA)
expect_is(tp, "ggplot")
rm(tp)
expect_error(tp <- CGGPplotblockselection(SG, indims=1:2), NA)
expect_is(tp, "ggplot")
rm(tp)
# neglogpost samples plot
expect_error(tsamp <- CGGPplotsamplesneglogpost(SG), NA)
expect_is(tsamp, "ggplot")
rm(tsamp)
expect_error(tsamp <- CGGPplotsamplesneglogpost(SG2), NA)
expect_is(tsamp, "ggplot")
rm(tsamp)
expect_error(tsamp <- CGGPplotsamplesneglogpost(SG2sep), NA)
expect_is(tsamp, "ggplot")
rm(tsamp)
# Force an Inf neglogpost
SG$thetaPostSamples[,100] <- rep(10, SG$numpara)
expect_warning(tsamp <- CGGPplotsamplesneglogpost(SG))
expect_is(tsamp, "ggplot")
rm(tsamp)
})
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.