# Example taken from survival::survdiff
designObj <- designSafeLogrank(hrMin=1/2)
ovData <- survival::ovarian
ovData$survTime <- survival::Surv(ovData$futime, ovData$fustat)
safeLogrankTest(formula=survTime~ rx, data=ovData, designObj=designObj)
safeLogrankTest(survTime=survTime, group=rx, data=ovData, designObj=designObj)
# Examples taken from coin::logrank_test
## Example data (Callaert, 2003, Tab. 1)
#'
callaert <- data.frame(
time = c(1, 1, 5, 6, 6, 6, 6, 2, 2, 2, 3, 4, 4, 5, 5),
group = factor(rep(0:1, c(7, 8)))
)
designObj <- designSafeLogrank(hrMin=1/2)
safeLogrankTest(survival::Surv(callaert$time)~callaert$group,
designObj = designObj)
safeLogrankTest(survTime=survival::Surv(callaert$time),
group=callaert$group, designObj = designObj)
result <- safeLogrankTest(survTime=survival::Surv(callaert$time),
group=callaert$group, designObj = designObj)
result
## Sequentially
# Greater
eValueGreater <- exp(cumsum(result$sumStats$logEValueGreater))
# Less
eValueLess <- exp(cumsum(result$sumStats$logEValueLess))
# twoSided
eValueTwoSided <- 1/2*eValueGreater+1/2*eValueLess
eValueTwoSided
result$eValue
###### Example switching between safe exact and safe Gaussian logrank test
designObj <- designSafeLogrank(0.8, alternative="less")
dat <- safestats::generateSurvData(300, 300, 2, 0.0065, 0.0065*0.8, seed=1)
survTime <- survival::Surv(dat$time, dat$status)
resultE <- safeLogrankTest(survTime ~ dat$group,
designObj = designObj)
resultG <- safeLogrankTest(survTime ~ dat$group,
designObj = designObj, exact=FALSE)
resultE
resultG
###### Example switching between safe exact and safe Gaussian logrank test other side
designObj <- designSafeLogrank(1/0.8, alternative="greater")
resultE <- safeLogrankTest(survTime ~ dat$group,
designObj = designObj)
resultG <- safeLogrankTest(survTime ~ dat$group,
designObj = designObj, exact=FALSE)
if (log(resultE$eValue) >= 0 && log(resultG$eValue) >= 0 )
stop("one-sided wrong")
Run the code above in your browser using DataLab