library("testthat")
library("survival")
context("test-survfit.R")
test_that("Check very small Cox example with no ties, breslow baseline", {
test <- read.table(header=T, sep = ",", text = "
start, length, event, x1, x2
0, 4, 1,0,0
0, 3.5,1,2,0
0, 3, 0,0,1
0, 2.5,1,0,1
0, 2, 1,1,1
0, 1.5,0,1,0
0, 1, 1,1,0
")
if (packageVersion("survival") >= '3.2.9') {
goldFit <- coxph(Surv(start, length, event) ~ x1 + x2, test, ties = "breslow", nocenter = NULL)
} else {
goldFit <- coxph(Surv(start, length, event) ~ x1 + x2, test, ties = "breslow")
}
goldSurv <- survfit(goldFit)
dataPtr <- createCyclopsData(Surv(length, event) ~ x1 + x2, data = test, modelType = "cox")
cyclopsFit <- fitCyclopsModel(dataPtr)
cyclopsSurv <- survfit(cyclopsFit, type="aalen")
expect_equal(goldSurv$time, cyclopsSurv$time)
tolerance <- 1E-4
expect_equal(goldSurv$surv, cyclopsSurv$surv, tolerance = tolerance)
})
test_that("Check very small Cox example with time-ties, but no failure ties, breslow baseline", {
test <- read.table(header=T, sep = ",", text = "
start, length, event, x1, x2
0, 4, 1,0,0
0, 3, 1,2,0
0, 3, 0,0,1
0, 2, 1,0,1
0, 2, 0,1,1
0, 1, 0,1,0
0, 1, 1,1,0
")
if (packageVersion("survival") >= '3.2.9') {
goldFit <- coxph(Surv(start, length, event) ~ x1 + x2, test, ties = "breslow", nocenter = NULL)
} else {
goldFit <- coxph(Surv(start, length, event) ~ x1 + x2, test, ties = "breslow")
}
goldSurv <- survfit(goldFit)
dataPtr <- createCyclopsData(Surv(length, event) ~ x1 + x2, data = test, modelType = "cox")
cyclopsFit <- fitCyclopsModel(dataPtr)
cyclopsSurv <- survfit(cyclopsFit, type="aalen")
expect_equal(goldSurv$time, cyclopsSurv$time)
tolerance <- 1E-4
expect_equal(goldSurv$surv, cyclopsSurv$surv, tolerance = tolerance)
})
test_that("Check very small Cox example with failure ties, no risk-set contribution after tie, breslow baseline", {
test <- read.table(header=T, sep = ",", text = "
start, length, event, x1, x2
0, 4, 1,0,0
0, 3, 1,2,0
0, 3, 0,0,1
0, 2, 1,0,1
0, 2, 1,1,1
0, 2, 1,0,0
")
if (packageVersion("survival") >= '3.2.9') {
goldFit <- coxph(Surv(start, length, event) ~ x1 + x2, test, ties = "breslow", nocenter = NULL)
} else {
goldFit <- coxph(Surv(start, length, event) ~ x1 + x2, test, ties = "breslow")
}
goldSurv <- survfit(goldFit)
dataPtr <- createCyclopsData(Surv(length, event) ~ x1 + x2, data = test, modelType = "cox")
cyclopsFit <- fitCyclopsModel(dataPtr)
cyclopsSurv <- survfit(cyclopsFit, type="aalen")
expect_equal(goldSurv$time, cyclopsSurv$time)
tolerance <- 1E-4
expect_equal(goldSurv$surv, cyclopsSurv$surv, tolerance = tolerance)})
test_that("Check very small Cox example with failure ties, with risk-set contribution after tie, breslow baseline", {
test <- read.table(header=T, sep = ",", text = "
start, length, event, x1, x2
0, 4, 1,0,0
0, 3, 1,2,0
0, 3, 0,0,1
0, 2, 1,0,1
0, 2, 1,1,1
0, 1, 0,1,0
0, 1, 1,1,0
")
if (packageVersion("survival") >= '3.2.9') {
goldFit <- coxph(Surv(start, length, event) ~ x1 + x2, test, ties = "breslow", nocenter = NULL)
} else {
goldFit <- coxph(Surv(start, length, event) ~ x1 + x2, test, ties = "breslow")
}
goldSurv <- survfit(goldFit)
dataPtr <- createCyclopsData(Surv(length, event) ~ x1 + x2, data = test, modelType = "cox")
cyclopsFit <- fitCyclopsModel(dataPtr)
cyclopsSurv <- survfit(cyclopsFit, type="aalen")
expect_equal(goldSurv$time, cyclopsSurv$time)
tolerance <- 1E-4
expect_equal(goldSurv$surv, cyclopsSurv$surv, tolerance = tolerance)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.