Nothing
context("Simple Random Assignments")
expect_u <- function(Z, lvl){
expect_true(all(Z %in% lvl))
}
test_that("Two Group Designs", {
expect_u(
simple_ra(N=100),
0:1
)
expect_u(
simple_ra(N=100, prob=0.5),
0:1
)
expect_u(
simple_ra(N=100, prob_each = c(0.3, 0.7),
conditions = c("control", "treatment")),
c("control", "treatment")
)
})
test_that("Multi-arm Designs", {
expect_u(
simple_ra(N=100, num_arms=3),
c("T1", "T2", "T3")
)
expect_u(
simple_ra(N=100, prob_each=c(0.3, 0.3, 0.4)),
c("T1", "T2", "T3")
)
expect_u(
simple_ra(N=100, prob_each=c(0.3, 0.3, 0.4),
conditions=c("control", "placebo", "treatment")),
c("control", "placebo", "treatment")
)
expect_u(
simple_ra(N=100, conditions=c("control", "placebo", "treatment")),
c("control", "placebo", "treatment")
)
})
test_that("Special Cases", {
expect_u(simple_ra(N=1, prob = 0), 0)
expect_u(simple_ra(N=1, prob = 1), 1)
expect_u(simple_ra(N=3, prob = 0), 0)
expect_u(simple_ra(N=3, prob = 1), 1)
expect_u(simple_ra(N=1, prob_each = c(0, 1)), 1)
expect_u(simple_ra(N=1, prob_each = c(0, 0, 1)), "T3")
expect_u(simple_ra(N=3, prob_each = c(0, 1)), 1)
expect_u(simple_ra(N=4, prob_each = c(0, 0, 1)), "T3")
})
test_that("Weighted", {
p1 <- simple_ra_probabilities(N=4, prob_each=c(.1, .9))
p2 <- simple_ra_probabilities(N=4, prob=c(.9))
expect_equal(p1, p2)
p3 <- simple_ra_probabilities(N=4, prob_each=cbind(.1, .1, .8))
p4 <- simple_ra_probabilities(N=4, prob_each=c(.1, .1, .8))
expect_equal(p3, p4)
p5 <- simple_ra_probabilities(N=10, prob_unit = 1:10 / 10)
p6 <- simple_ra_probabilities(N=10, prob_each=cbind(9:0/10, 1:10/10))
expect_equal(p5, p6)
expect_true(all(replicate(100, simple_ra(N=10, prob_unit=1:10/10)[10] == 1)))
})
test_that("prob_unit",{
simple_ra(100, prob_unit = seq(0.1, 0.99, length.out = 100))
expect_error(simple_ra(100, prob = seq(0.1, 0.99, length.out = 100)))
})
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.