attach(asNamespace("epigrowthfit"))
library(tools)
options(warn = 2L, error = if (interactive()) recover)
## negate ##############################################################
x <- quote(x)
minus.x <- call("-", x)
log.x <- call("log", x)
minus.log.x <- call("-", log.x)
stopifnot(exprs = {
identical(negate(x), minus.x)
identical(negate(minus.x), x)
identical(negate(log.x), minus.log.x)
identical(negate(minus.log.x), log.x)
identical(negate(1), call("-", 1))
identical(negate(call("-", 1)), 1)
identical(negate(-1), call("-", -1))
identical(negate(call("-", -1)), -1)
})
## split_terms #######################################################
## unsplit_terms #######################################################
stopifnot(exprs = {
identical(split_terms(quote(+1)), expression( 1))
identical(split_terms(quote(-1)), expression(-1))
is.null(unsplit_terms(expression()))
})
x <- quote(1 + a * b - b)
l <- expression(1, a * b, -b)
stopifnot(exprs = {
identical(split_terms(x), l)
identical(unsplit_terms(l), x)
})
x <- quote(w + (x | f/g) + (y + z | h))
l <- expression(w, (x | f/g), (y + z | h))
x.no.paren <- x
x.no.paren[[2L]][[3L]] <- x.no.paren[[2L]][[3L]][[2L]]
x.no.paren [[3L]] <- x.no.paren [[3L]][[2L]]
l.no.paren <- as.expression(list(l[[1L]], l[[2L]][[2L]], l[[3L]][[2L]]))
stopifnot(exprs = {
identical(split_terms(x), l.no.paren)
identical(split_terms(x.no.paren), l.no.paren)
identical(unsplit_terms(l), x.no.paren)
identical(unsplit_terms(l.no.paren), x.no.paren)
})
## split_effects #######################################################
x <- y ~ x + (1 | f) + (a + b | g)
l <- expression(y ~ x, 1 | f, a + b | g)
l[[1L]] <- as.formula(l[[1L]])
stopifnot(identical(split_effects(x), l))
## split_interaction ###################################################
x <- quote(a:b:I(f:g):log(h))
l <- expression(a, b, I(f:g), log(h))
stopifnot(identical(split_interaction(x), l))
assertError(split_interaction(expression()))
## sub_bar_plus ########################################################
x1 <- ~x + (1 | f) + (a + b | g)
x2 <- call("+", call("+", quote(x), quote(1 + f)), quote(a + b + g))
x2 <- as.formula(call("~", x2))
stopifnot(identical(sub_bar_plus(x1), x2))
## simplify_terms ######################################################
x1 <- ~0 + x * y - y
y1 <- formula(terms(x1, simplify = TRUE))
stopifnot(identical(simplify_terms(x1), y1))
x2 <- ~0 + x * y - y + (1 | f/g) + (a | f) + (0 + b | f:g)
y2 <- y1
y2[[2L]] <- call("+",
call("+", y2[[2L]], quote(a | f)),
quote(b - 1 | f:g))
stopifnot(identical(simplify_terms(x2), y2))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.