Nothing
test_that("singleEventSurvival validates required columns", {
bad <- data.frame(subject_id = 1:3, time = c(1, 2, 3))
expect_error(
OdysseusSurvivalModule:::singleEventSurvival(bad),
"must contain: subject_id, time, status"
)
})
test_that("singleEventSurvival returns expected overall structure for KM", {
df <- data.frame(
subject_id = 1:10,
time = c(5, 8, 12, 20, 30, 9, 15, 21, 25, 40),
status = c(1, 0, 1, 1, 0, 1, 0, 1, 0, 1)
)
out <- OdysseusSurvivalModule:::singleEventSurvival(
survivalData = df,
timeScale = "days",
model = "km"
)
expect_s3_class(out, "singleEventSurvival")
expect_true("overall" %in% names(out))
expect_true(all(c("data", "summary") %in% names(out$overall)))
expect_true(all(c("time", "n_risk", "n_event", "survival") %in% names(out$overall$data)))
expect_equal(out$overall$summary$n, nrow(df))
})
test_that("singleEventSurvival supports gender and age_group strata", {
df <- data.frame(
subject_id = 1:12,
time = c(5, 8, 12, 20, 30, 9, 15, 21, 25, 40, 18, 27),
status = c(1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0),
gender = c("Male", "Male", "Female", "Female", "Male", "Female", "Male", "Female", "Male", "Female", "Male", "Female"),
age_years = c(22, 35, 41, 59, 66, 28, 47, 73, 52, 61, 19, 45)
)
out <- OdysseusSurvivalModule:::singleEventSurvival(
survivalData = df,
model = "km",
strata = c("gender", "age_group"),
ageBreaks = list(c(18, 44), c(45, 64), c(65, Inf))
)
expect_true("overall" %in% names(out))
expect_true(any(grepl("^gender=", names(out))))
expect_true(any(grepl("^age_group=", names(out))))
expect_true("logrank_test_gender" %in% names(out))
expect_true("logrank_test_age_group" %in% names(out))
expect_true(all(out$logrank_test_gender$testType == "pairwise"))
expect_true(all(out$logrank_test_age_group$testType == "pairwise"))
})
test_that("singleEventSurvival requires age_years for age_group strata", {
df <- data.frame(
subject_id = 1:6,
time = c(3, 5, 7, 9, 11, 13),
status = c(1, 0, 1, 0, 1, 0)
)
expect_error(
OdysseusSurvivalModule:::singleEventSurvival(
survivalData = df,
model = "km",
strata = c("age_group")
),
"age_years"
)
})
test_that("singleEventSurvival supports parametric model output", {
df <- data.frame(
subject_id = 1:10,
time = c(5, 8, 12, 20, 30, 9, 15, 21, 25, 40),
status = c(1, 0, 1, 1, 0, 1, 0, 1, 0, 1),
age_years = c(22, 35, 41, 59, 66, 28, 47, 73, 52, 61)
)
out <- OdysseusSurvivalModule:::singleEventSurvival(
survivalData = df,
model = "weibull",
covariates = c("age_years"),
timeScale = "months"
)
expect_true("overall" %in% names(out))
expect_true(all(c("data", "summary") %in% names(out$overall)))
expect_true(all(c("lower", "upper", "hazard") %in% names(out$overall$data)))
expect_true(all(is.na(out$overall$data$lower)))
expect_true(all(is.na(out$overall$data$upper)))
expect_equal(out$overall$summary$timeScale, "months")
})
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.