Nothing
library(dplyr, warn.conflicts = FALSE)
library(survival)
testthat::test_that("liferegr: eligible distributions", {
for (dist in c("exponential", "weibull", "lognormal", "loglogistic")) {
fit1 <- liferegr(ovarian, time="futime", event="fustat",
covariates=c("ecog.ps", "rx"), dist=dist)
fit2 <- survreg(Surv(futime, fustat) ~ ecog.ps + rx, data=ovarian,
dist=dist)
testthat::expect_equal(fit1$beta[1:(fit1$nvar+1)], fit2$coefficients)
if (dist != "exponential") {
testthat::expect_equal(exp(fit1$parest$beta[(fit1$nvar+2)]), fit2$scale)
}
}
})
testthat::test_that("liferegr: left-censored data", {
tobin <- tobin %>% mutate(time = ifelse(durable > 0, durable, NA))
for (dist in c("gaussian", "logistic")) {
fit1 <- liferegr(tobin, time="time", time2="durable",
covariates=c("age", "quant"), dist=dist)
fit2 <- survreg(Surv(durable, durable>0, type='left') ~ age + quant,
data=tobin, dist=dist)
testthat::expect_equal(fit1$beta[1:(fit1$nvar+1)], fit2$coefficients)
testthat::expect_equal(exp(fit1$parest$beta[(fit1$nvar+2)]), fit2$scale)
}
})
testthat::test_that("liferegr: stratification", {
lung1 <- lung %>% mutate(event = 1*(status == 2))
fit1 <- liferegr(lung1, stratum="sex", time="time", event="event",
covariates=c("ph.ecog", "age"))
fit2 <- survreg(Surv(time, status) ~ ph.ecog + age + strata(sex),
data=lung)
testthat::expect_equal(fit1$beta[1:(fit1$nvar+1)], fit2$coefficients)
testthat::expect_equal(exp(fit1$parest$beta[(fit1$nvar+2):(fit1$p)]),
as.vector(fit2$scale))
})
testthat::test_that("liferegr: robust variance", {
diabetic <- diabetic %>% mutate(juvenile = 1*(age < 20))
fit1 <- liferegr(diabetic, time="time", event="status",
covariates=c("trt", "juvenile"), id="id",
robust=TRUE)
fit2 <- survreg(Surv(time, status) ~ trt + juvenile, cluster=id,
data=diabetic, robust=TRUE)
testthat::expect_equal(fit1$beta[1:(fit1$nvar+1)], fit2$coefficients)
testthat::expect_equal(exp(fit1$parest$beta[(fit1$nvar+2)]), fit2$scale)
testthat::expect_equal(fit1$vbeta, fit2$var)
})
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.