Nothing
assert("expected events is different from gsDesign::eEvents and expected_event", {
enroll_rate <- define_enroll_rate(duration = c(2, 1, 2), rate = c(5, 10, 20))
fail_rate <- define_fail_rate(duration = c(1, 1, 1), fail_rate = c(.05, .02, .01), hr = 1, dropout_rate = .01)
total_duration <- 20
res <- expected_event(
enroll_rate = enroll_rate, fail_rate = fail_rate,
total_duration = total_duration, simple = TRUE
)
expected <- gsDesign::eEvents(
lambda = fail_rate$fail_rate,
S = fail_rate$duration[1:(nrow(fail_rate) - 1)],
eta = fail_rate$dropout_rate, gamma = enroll_rate$rate,
R = enroll_rate$duration, T = total_duration
)$d
(all.equal(res, expected))
})
assert("data frame returned from expected_event not as expected", {
# Test case from gsSurvNPH
enroll_rate <- define_enroll_rate(duration = c(1, 1, 8), rate = c(3, 2, 0))
fail_rate <- define_fail_rate(duration = c(4, Inf), fail_rate = c(.03, .06), dropout_rate = c(.001, .002), hr = 1)
total_duration <- 7
xx <- expected_event(
enroll_rate = enroll_rate,
fail_rate = fail_rate,
total_duration = total_duration,
simple = FALSE
) |>
data.frame()
# Expected checked with alternate calculations in gsSurvNPH vignette
expected <- data.frame(
t = c(0, 4),
fail_rate = c(0.03, 0.06),
event = c(0.5642911, 0.5194821)
)
(all.equal(xx, expected))
})
# Double programming tests
# Test 1: with multiple fail rates, short FU
assert("expected events is different from double-programmed vs. expected_event, with mutiple failrates, short FU", {
res <- params_expected_event()
enroll_rate <- res$enroll_rate
fail_rate <- res$fail_rate
failRates <- res$failRates
total_duration <- res$total_duration
simple <- res$simple
res <- test_expected_event(
enrollRates = enroll_rate, failRates = failRates,
totalDuration = total_duration
)
expected <- expected_event(
enroll_rate = enroll_rate, fail_rate = fail_rate,
total_duration = total_duration, simple = simple
)
(all.equal(res, expected))
})
# Test 2: with multiple fail rates, long FU
assert("expected events is different from double-programmed vs. expected_event, with mutiple failrates, long FU", {
res <- params_expected_event()
enroll_rate <- res$enroll_rate
fail_rate <- res$fail_rate
failRates <- res$failRates
total_duration <- 80
simple <- res$simple
res <- test_expected_event(
enrollRates = enroll_rate, failRates = failRates,
totalDuration = total_duration
)
expected <- expected_event(
enroll_rate = enroll_rate, fail_rate = fail_rate,
total_duration = total_duration, simple = simple
)
(res %==% expected)
})
# Test 3: with multiple fail rates and with multiple enrollment duration
assert("expected events is different from double-programmed vs. expected_event, with mutiple enrollment duration", {
enroll_rate <- define_enroll_rate(
duration = c(50, 10),
rate = c(10, 5)
)
fail_rate <- define_fail_rate(
duration = c(10, 20, 10),
fail_rate = log(2) / c(5, 10, 5),
dropout_rate = c(0.1, 0.2, 0),
hr = 1
)
fail_rate$failRate <- fail_rate$fail_rate
fail_rate$dropoutRate <- fail_rate$dropout_rate
failRates <- fail_rate
total_duration <- 80
simple <- TRUE
res <- test_expected_event(
enrollRates = enroll_rate, failRates = failRates,
totalDuration = total_duration
)
expected <- expected_event(
enroll_rate = enroll_rate, fail_rate = fail_rate,
total_duration = total_duration, simple = simple
)
(all.equal(res, expected))
})
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.