Nothing
library(metaBMA)
library(testthat)
library(rstan)
data(towels)
test_that("check old prior labels with logml='stan'/'integrate'", {
set.seed(12345)
# check different ways of defining priors
m1 <- meta_fixed(logOR, SE, study, towels,
d = prior("t", c(0, .1, 1), lower = 0), rel.tol = .01
)
suppressWarnings(
m2 <- meta_fixed(logOR, SE, study, towels,
d = prior("halfcauchy", .1), iter = 300, logml = "stan"
)
)
expect_equal(m1$estimates[, 1:7, drop = FALSE], m2$estimates[, 1:7, drop = FALSE], tolerance = .005)
expect_equal(m1$logml, m2$logml, tolerance = .01)
skip_on_cran()
suppressWarnings({
mr1 <- meta_random(logOR, SE, study, towels,
summarize = "int", rel.tol = .01, logml_iter = 100, iter = 1000,
d = prior("t", c(0, .1, 5), lower = 0),
tau = prior("norm", c(0, .3), lower = 0)
)
mr2 <- meta_random(logOR, SE, study, towels,
summarize = "stan", iter = 1000, logml_iter = 1000,
d = prior("scaledt", c(0, .1, 5), lower = 0),
tau = prior("halfnorm", .3), logml = "stan"
)
})
expect_equal(mr1$estimates[, 1:7], mr2$estimates[, 1:7], tolerance = .03)
expect_equal(mr1$logml, mr2$logml, tolerance = .03)
})
test_that("extreme priors/misspecified models still provide correct results", {
skip_on_cran()
set.seed(12345)
mf <- meta_fixed(logOR, SE, study, towels,
rel.tol = .01,
d = prior("norm", c(mean = 0.2, sd = .01))
)
expect_equal(mf$estimates[1:2], c(.2, .01), tolerance = .005)
mr <- meta_random(logOR, SE, study, towels,
rel.tol = .1, iter = 1000, logml_iter = 10,
d = prior("norm", c(mean = 0.2, sd = .01))
)
expect_equal(mr$estimates[1], .2, tolerance = .005)
suppressWarnings({
mr <- meta_random(logOR, SE, study, towels,
rel.tol = .005, iter = 1000,
d = prior("norm", c(mean = 0.2, sd = .01)),
tau = prior("t", c(.5, .01, 2), lower = .2)
)
})
expect_equal(mr$estimates[1], .2, tolerance = .005)
expect_silent(plot_posterior(mr, "d", from = .1, to = .3))
expect_silent(plot_posterior(mr, "tau", from = .4, to = .6))
})
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.