Nothing
################################################################################
# maxControlsCap: finding the best input for fullmatch
################################################################################
context("maxControlsCap function")
test_that("basics", {
# needs to take both simple and stratified problems.
n <- 16
Z <- rep(c(0,1), n/2)
my.names <- paste(rep(c("C", "T"), n/2), 1:16, sep = "")
names(Z) <- my.names
B <- c(rep("A", n/2), rep("B", n/2))
em <- exactMatch(B, treatment = Z) # factor, factor implementation
res <- maxControlsCap(em)
expect_equal(length(res$strictest.feasible.max.controls), 2) # two level problem
expect_true(all(!is.na(res$strictest.feasible.max.controls)))
})
test_that("Testing input", {
# must pass a dist spec
expect_error(maxControlsCap(1:10),"Invalid distance")
# if min.controls is a vector, it must be named the same as the name of the subproblems
Z <- rep(c(0,1), 8)
B <- rep(letters[1:4], each = 4)
res.em <- exactMatch(Z ~ B)
expect_error(maxControlsCap(res.em, min.controls = c(x = 1, y = 2, z = 3, w = 4)),
"Names of 'min.controls' must match the subproblems. See 'findSubproblems' and 'exactMatch'.")
# should not expect an error for this:
mcc <- maxControlsCap(res.em, min.controls = c(a = 1, b = 1, c = 1, d = 1))
expect_equal(length(mcc), 2)
expect_true(all.equal(vapply(mcc, length, numeric(1)), c(4,4),
check.attributes=FALSE))
})
test_that("Correct output", {
# borrowing from the R CMD Check tests to nail down proper output.
data(nuclearplants)
mhd2a <- t(match_on(pr ~ date + cum.n, data = nuclearplants) + exactMatch(pr ~ pt, data = nuclearplants))
res.mxcc <- maxControlsCap(mhd2a + caliper(mhd2a, sqrt(3)))
expect_equivalent(res.mxcc$strictest.feasible.max.controls, c(1,1))
})
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.