Introduction to splineCox

Ren Teranishi

2024-12-17

Introduction

The splineCox package provides functions for fitting spline-based Cox regression models. These models allow for flexible baseline hazard shapes and efficient model selection based on log-likelihood.

Loading the Package

library(splineCox)
library(joint.Cox)  # Required for example data
## Warning: package 'joint.Cox' was built under R version 4.2.3
## Loading required package: survival

Example Dataset

The dataOvarian dataset from the joint.Cox package contains time-to-event data, event indicators, and covariates for ovarian cancer patients.

# Load the dataset
data(dataOvarian)

# Display the first few rows
head(dataOvarian)
##           t.event event t.death death group     CXCL12
## GSM432220    1650     0    1650     0     4  1.3059416
## GSM432221      30     1      30     1     4  1.2862164
## GSM432222     720     0     720     0     4 -1.3690315
## GSM432223     450     1     780     0     4  1.6132696
## GSM432224     510     1     990     1     4  0.6115144
## GSM432225    1110     0    1110     0     4 -0.5214953

Fitting the Model

We fit a spline-based Cox regression model using three baseline hazard shapes: “constant”, “increase”, and “decrease”.

# Define variables
t.event <- dataOvarian$t.event
event <- dataOvarian$event
Z <- dataOvarian$CXCL12
M <- c("constant", "increase", "decrease")

# Fit the model
reg2 <- splineCox.reg2(t.event, event, Z, model = M)

# Display the results
print(reg2)
## $model
## [1] "constant"
## 
## $parameter
## [1] 0.125 0.250 0.250 0.250 0.125
## 
## $beta
##   estimate         SE      Lower      Upper 
## 0.21342140 0.04250986 0.13010207 0.29674073 
## 
## $gamma
##  estimate        SE     Lower     Upper 
## 4.8603503 0.2037146 4.4610697 5.2596309 
## 
## $loglik
## LogLikelihood           AIC           BIC 
##     -4603.751      9211.501      9221.323 
## 
## $other_loglik
##          Loglikelihodd
## increase     -4629.807
## decrease     -4611.546

Interpreting Results

The output of the model includes: - The best-fitting baseline hazard shape. - Estimates for the regression coefficients (beta) and the baseline hazard scale parameter (gamma). - Log-likelihood, AIC and BIC for selected model. - Log-likelihoods of other models.

Below are the results from the example:

# Print a summary of the results
print(reg2)
## $model
## [1] "constant"
## 
## $parameter
## [1] 0.125 0.250 0.250 0.250 0.125
## 
## $beta
##   estimate         SE      Lower      Upper 
## 0.21342140 0.04250986 0.13010207 0.29674073 
## 
## $gamma
##  estimate        SE     Lower     Upper 
## 4.8603503 0.2037146 4.4610697 5.2596309 
## 
## $loglik
## LogLikelihood           AIC           BIC 
##     -4603.751      9211.501      9221.323 
## 
## $other_loglik
##          Loglikelihodd
## increase     -4629.807
## decrease     -4611.546