Performs basic Cox Proportional Hazards regression with a multiplicative log-linear model
Source:R/Cox_Regression.R
      RunCoxRegression_Basic.RdRunCoxRegression_Basic uses user provided data, time/event columns, vectors specifying the model, and options to control the convergence and starting positions
Arguments
- df
 a data.table containing the columns of interest
- time1
 column used for time period starts
- time2
 column used for time period end
- event0
 column used for event status
- names
 columns for elements of the model, used to identify data columns
- keep_constant
 binary values to denote which parameters to change
- a_n
 list of initial parameter values, used to determine the number of parameters. May be either a list of vectors or a single vector.
- control
 list of parameters controlling the convergence, see Def_Control() for options or vignette("Control_Options")
See also
Other Cox Wrapper Functions:
CoxCurveSolver(),
RunCaseControlRegression_Omnibus(),
RunCoxNull(),
RunCoxRegression(),
RunCoxRegression_CR(),
RunCoxRegression_Guesses_CPP(),
RunCoxRegression_Omnibus(),
RunCoxRegression_Omnibus_Multidose(),
RunCoxRegression_Single(),
RunCoxRegression_Strata(),
RunCoxRegression_Tier_Guesses()
Examples
library(data.table)
## basic example code reproduced from the starting-description vignette
df <- data.table::data.table(
  "UserID" = c(112, 114, 213, 214, 115, 116, 117),
  "Starting_Age" = c(18, 20, 18, 19, 21, 20, 18),
  "Ending_Age" = c(30, 45, 57, 47, 36, 60, 55),
  "Cancer_Status" = c(0, 0, 1, 0, 1, 0, 0),
  "a" = c(0, 1, 1, 0, 1, 0, 1),
  "b" = c(1, 1.1, 2.1, 2, 0.1, 1, 0.2),
  "c" = c(10, 11, 10, 11, 12, 9, 11),
  "d" = c(0, 0, 0, 1, 1, 1, 1)
)
# For the interval case
time1 <- "Starting_Age"
time2 <- "Ending_Age"
event <- "Cancer_Status"
names <- c("a", "b", "c", "d")
a_n <- c(1.1, -0.1, 0.2, 0.5) # used to test at a specific point
keep_constant <- c(0, 0, 0, 0)
control <- list(
  "ncores" = 2, "lr" = 0.75, "maxiter" = 5, "halfmax" = 5,
  "epsilon" = 1e-3, "deriv_epsilon" = 1e-3, "abs_max" = 1.0,
  "dose_abs_max" = 100.0, "verbose" = FALSE,
  "ties" = "breslow", "double_step" = 1
)
e <- RunCoxRegression_Basic(
  df, time1, time2, event, names, keep_constant,
  a_n, control
)