testthat::context("binomial stress")
testthat::test_that("test.simBinomial.misc", {
testthat::expect_equal(sum(-stats::qnorm(0.05) < gsDesign::simBinomial(
p1 = 0.4, p2 = 0.05,
delta0 = 0.2, n1 = 80, n2 = 80, nsim = 1e+05
)) / 1e+05,
0.813,
info = "simBinomial check #1 failed (F&M bottom p 1451)", tolerance = 0.01
)
testthat::expect_equal(sum(-stats::qnorm(0.05) < gsDesign::simBinomial(
p1 = 0.1, p2 = 0.1,
delta0 = -0.2, n1 = 63, n2 = 42, nsim = 1e+05
)) / 1e+05,
0.916,
info = "simBinomial check #2 failed (F&M Table 1)", tolerance = 0.01
)
testthat::expect_equal(sum(-stats::qnorm(0.05) < gsDesign::simBinomial(
p1 = 0.25, p2 = 0.05,
delta0 = 0.1, n1 = 173, n2 = 260, nsim = 1e+05
)) / 1e+05,
0.906,
info = "simBinomial check #3 failed (F&M Table 1)", tolerance = 0.01
)
testthat::expect_equal(sum(-stats::qnorm(0.025) < gsDesign::simBinomial(
p1 = 0.15, p2 = 0.1,
delta0 = log(1.1), n1 = 901, n2 = 1351, scale = "lnor",
nsim = 1e+05
)) / 1e+05, 0.79875, info = "simBinomial check #4 failed", tolerance = 0.01)
testthat::expect_equal(sum(-stats::qnorm(0.025) < gsDesign::simBinomial(
p1 = 0.15, p2 = 0.1,
delta0 = log(1.1), n1 = 901, n2 = 1351, scale = "or",
nsim = 1e+05
)) / 1e+05, 0.8056, info = "simBinomial check #5 failed", tolerance = 0.01)
testthat::expect_equal(sum(-stats::qnorm(0.05) < gsDesign::simBinomial(
p1 = 0.25, p2 = 0.05,
delta0 = log(2), n1 = 134, n2 = 201, scale = "rr", nsim = 1e+05
)) / 1e+05,
0.9078,
info = "simBinomial check #6 failed (F&M Table 1)", tolerance = 0.01
)
})
testthat::test_that("test.testBinomial.numerics", {
testthat::expect_equal(gsDesign::testBinomial(
x1 = 0, x2 = 0, n1 = 10, n2 = 20,
adj = 1, scale = "difference", delta = c(-0.1658, 0.2843608)
),
c(1.959962, -1.959865),
info = "Error in testBinomial example 1 (M&N example 4)", tolerance = 0.01
)
testthat::expect_equal(gsDesign::testBinomial(
x1 = 10, x2 = 20, n1 = 10, n2 = 20,
adj = 1, scale = "rr", delta = log(c(0.715615, 1.198703))
),
c(1.96, -1.96),
info = "Error in testBinomial example 2 (M&N example 6)", tolerance = 0.0001
)
testthat::expect_equal(gsDesign::testBinomial(
x1 = 53, x2 = 40, n1 = 100, n2 = 100,
scale = "LNOR", delta = c(-0.03152, 1.104)
), c(
1.964856,
-1.963414
), info = "Error in testBinomial example 3 (p 27, Lachin)", tolerance = 0.0001)
testthat::expect_equal(gsDesign::testBinomial(
x1 = 53, x2 = 40, n1 = 100, n2 = 100,
scale = "OR", delta = c(-0.03463, 1.085673)
), c(
1.965205,
-1.96461
), info = "Error in testBinomial example 4 (p 27, Lachin)", tolerance = 0.0001)
})
testthat::test_that("test.nBinomial.misc", {
testthat::expect_equal(gsDesign::nBinomial(
p1 = 0.4, p2 = 0.05, alpha = 0.05,
beta = 0.2, delta0 = 0.2, scale = "difference"
), 159.6876,
info = "nBinomial check #1 failed (F&M, bottom p 1451)", tolerance = 0.0001
)
testthat::expect_equal(as.numeric(gsDesign::nBinomial(
p1 = 0.1, p2 = 0.1, alpha = 0.05,
delta0 = -0.2, ratio = 2 / 3, scale = "difference", outtype = 2
)),
c(62.88, 41.92),
info = "nBinomial check #2 failed (F&M, Table 1)", tolerance = 0.0001
)
testthat::expect_equal(as.numeric(gsDesign::nBinomial(
p1 = 0.25, p2 = 0.05, delta0 = 0.1,
alpha = 0.05, ratio = 3 / 2, scale = "difference", outtype = 2
)),
c(173.2214, 259.8322),
info = "nBinomial check #3 failed (F&M, Table 1)", tolerance = 0.0001
)
testthat::expect_equal(as.numeric(gsDesign::nBinomial(
p1 = 0.25, p2 = 0.05, delta0 = log(2),
alpha = 0.05, ratio = 3 / 2, scale = "rr", outtype = 2
)),
c(133.9289, 200.8933),
info = "nBinomial check #4 failed (F&M, Table 1)", tolerance = 0.0001
)
testthat::expect_equal(gsDesign::nBinomial(p1 = 0.15, p2 = 0.1, beta = 0.2, scale = "or"),
1355.84,
info = "nBinomial check #5 failed (OR scale)", tolerance = 0.0001
)
testthat::expect_equal(as.numeric(gsDesign::nBinomial(
p1 = 0.15, p2 = 0.1, beta = 0.2,
delta0 = log(1.1), ratio = 3 / 2, scale = "or", outtype = 2
)),
c(900.57, 1350.85),
info = "nBinomial check #6 failed (OR scale)", tolerance = 0.0001
)
})
testthat::test_that("test.ciBinomial.RRscale.Infinity", {
testthat::expect_equal(gsDesign::ciBinomial(
scale = "RR", x1 = 4, x2 = 0, n1 = 100,
n2 = 100
)$upper, Inf, info = "ciBinomial infinity check #7 failed", tolerance = 0.0001)
testthat::expect_equal(gsDesign::ciBinomial(
scale = "RR", x1 = 0, x2 = 0, n1 = 100,
n2 = 100
)$upper, Inf, info = "ciBinomial infinity check #8 failed", tolerance = 0.0001)
})
testthat::test_that("test.ciBinomial.ORscale.Infinity", {
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 0, x2 = 4, n1 = 100,
n2 = 100
)$lower, -Inf, info = "ciBinomial infinity check #1 failed")
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 4, x2 = 0, n1 = 100,
n2 = 100
)$upper, Inf, info = "ciBinomial infinity check #2 failed", tolerance = 0.0001)
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 100, x2 = 96,
n1 = 100, n2 = 100
)$upper, Inf, info = "ciBinomial infinity check #3 failed", tolerance = 0.0001)
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 96, x2 = 100,
n1 = 100, n2 = 100
)$lower, -Inf, info = "ciBinomial infinity check #4 failed", tolerance = 0.0001)
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 0, x2 = 0, n1 = 100,
n2 = 100
), data.frame(lower = -Inf, upper = Inf), info = "ciBinomial infinity check #5 failed", tolerance = 0.0001)
testthat::expect_equal(gsDesign::ciBinomial(
scale = "OR", x1 = 100, x2 = 100,
n1 = 100, n2 = 100
), data.frame(lower = -Inf, upper = Inf),
info = "ciBinomial infinity check #6 failed", tolerance = 0.0001
)
})
testthat::test_that("test.ciBinomial.misc", {
testthat::expect_equal(as.numeric(gsDesign::ciBinomial(
x1 = 0, x2 = 0, n1 = 10,
n2 = 20, adj = 1, scale = "difference"
)), c(
-0.1658,
0.2843608
), info = "ciBinomial numeric check #1 failed (M&N example 4", tolerance = 0.0001)
testthat::expect_equal(as.numeric(gsDesign::ciBinomial(
x1 = 72, x2 = 20, n1 = 756,
n2 = 573, adj = 1, scale = "difference"
)), c(
0.0344,
0.0868
), info = "ciBinomial numeric check #2 failed", tolerance = 0.0001)
testthat::expect_equal(as.numeric(gsDesign::ciBinomial(
x1 = 10, x2 = 20, n1 = 10,
n2 = 20, adj = 1, scale = "rr"
)), c(0.7156205, 1.198696),
info = "ciBinomial numeric check #3 failed (M&N example 6", tolerance = 0.0001
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.