library(reda)
## constant rate function
constFit <- rateReg(Survr(ID, time, event) ~ group + x1,
data = simuDat, subset = ID %in% 1:50)
## 6 pieces' piecewise constant rate function
piecesFit <- rateReg(Survr(ID, time, event) ~ group + x1,
data = simuDat, subset = ID %in% 1:50,
knots = seq(28, 140, by = 28))
## fit rate function with cubic spline
splineFit <- rateReg(Survr(ID, time, event) ~ group + x1,
data = simuDat, subset = ID %in% 1:50,
knots = c(56, 84, 112), degree = 3)
## brief summary of fitted models
constFit
piecesFit
splineFit
## more specific summary
summary(constFit)
summary(piecesFit)
summary(splineFit)
## model selection based on AIC or BIC
AIC(constFit, piecesFit, splineFit)
BIC(constFit, piecesFit, splineFit)
## estimated covariate coefficients
coef(piecesFit)
coef(splineFit)
## confidence intervals for covariate coefficients
confint(piecesFit)
confint(splineFit, "x1", 0.9)
confint(splineFit, 1, 0.975)
## estimated coefficients for baseline rate function
baseRate(piecesFit)
baseRate(splineFit)
## estimated baseline mean cumulative function (MCF) from a fitted model
piecesMcf <- mcf(piecesFit)
plotMcf(piecesMcf, conf.int = TRUE, col = "blueviolet") +
ggplot2::xlab("Days") + ggplot2::theme_bw()
## estimated MCF for given new data
newDat <- data.frame(x1 = rep(0, 2), group = c("Treat", "Contr"))
splineMcf <- mcf(splineFit, newdata = newDat, groupName = "Group",
groupLevels = c("Treatment", "Control"))
plotMcf(splineMcf, conf.int = TRUE, lty = c(1, 5)) +
ggplot2::xlab("Days") + ggplot2::theme_bw()
Run the code above in your browser using DataLab