eqnfile <- system.file("MPTmodels/2htm.eqn", package = "TreeBUGS")
model <- "# 2HTM
Target Hit Do
Target Hit (1-Do)*g
Target Miss (1-Do)*(1-g)
Lure FA (1-Dn)*g
Lure CR (1-Dn)*(1-g)
Lure CR Dn
"
test_that("readEQN results in proper MPT model", {
expect_is(readEQN(eqnfile), "data.frame")
expect_is(readEQN(model), "data.frame")
res <- readEQN(model)
expect_named(res, c("Tree", "Category", "Equation", "EQN"))
expect_is(
readEQN(model, restrictions = list("g=.5", "Dn=Do")),
"data.frame"
)
m1 <- readEQN(model)
expect_identical(
m1$EQN,
c("Do", "(1-Do)*g", "(1-Do)*(1-g)", "(1-Dn)*g", "(1-Dn)*(1-g)", "Dn")
)
m2 <- readEQN(model, restrictions = list("g=.5", "Dn=Do"))
expect_identical(
m2$EQN,
c("Do", "(1-Do)*.5", "(1-Do)*(1-.5)", "(1-Do)*.5", "(1-Do)*(1-.5)", "Do")
)
m3 <- readEQN(model, restrictions = list("Dn=Do=g"))
expect_identical(
m3$EQN,
c("g", "(1-g)*g", "(1-g)*(1-g)", "(1-g)*g", "(1-g)*(1-g)", "g")
)
m4 <- readEQN(model, restrictions = list("Dn=0.273", "g=0.93"))
expect_identical(
m4$EQN,
c("Do", "(1-Do)*0.93", "(1-Do)*(1-0.93)", "(1-0.273)*0.93", "(1-0.273)*(1-0.93)", "0.273")
)
# misspecified constraints
expect_error(readEQN(model, restrictions = list("g=.5", "Dnasd=Do")))
expect_error(readEQN(model, restrictions = list("g=.1=.5")))
expect_warning(readEQN(model, restrictions = list("g=-4")))
# parsed model matrices
mod <- readEQN(model, restrictions = list("g=.5", "Dn=Do"), parse = TRUE)
expect_named(mod$Table, c("Tree", "Category", "Equation", "EQN"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.