Performs basic Cox Proportional Hazards regression without special options
Source:R/Cox_Regression.R
RunCoxRegression.Rd
RunCoxRegression
uses user provided data, time/event columns,
vectors specifying the model, and options to control the convergence
and starting position
Usage
RunCoxRegression(
df,
time1,
time2,
event0,
names,
Term_n,
tform,
keep_constant,
a_n,
modelform,
fir,
der_iden,
control
)
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
- Term_n
term numbers for each element of the model
- tform
list of string function identifiers, used for linear/step
- keep_constant
binary values to denote which parameters to change
- a_n
list of initial parameter values, used to determine number of parameters
- modelform
string specifying the model type: M, ME, A, PA, PAE, GMIX, GMIX-R, GMIX-E
- fir
term number for the initial term, used for models of the form T0*f(Ti) in which the order matters
- der_iden
number for the subterm to test derivative at, only used for testing runs with a single varying parameter, should be smaller than total number of parameters
- control
list of parameters controlling the convergence, see Def_Control() for options or vignette("starting_description")
See also
Other Cox Wrapper Functions:
RunCoxNull()
,
RunCoxRegression_Basic()
,
RunCoxRegression_CR()
,
RunCoxRegression_Guesses_CPP()
,
RunCoxRegression_Omnibus()
,
RunCoxRegression_STRATA()
,
RunCoxRegression_Single()
,
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')
Term_n <- c(0,1,1,2)
tform <- c("loglin","lin","lin","plin")
modelform <- "M"
fir <- 0
a_n <- c(0.1, 0.1, 0.1, 0.1)
keep_constant <- c(0,0,0,0)
der_iden <- 0
control <- list("Ncores"=2,'lr' = 0.75,'maxiter' = 5,'halfmax' = 5,
'epsilon' = 1e-3,'dbeta_max' = 0.5, 'deriv_epsilon' = 1e-3,
'abs_max'=1.0,'change_all'=TRUE,'dose_abs_max'=100.0,
'verbose'=FALSE, 'ties'='breslow','double_step'=1)
e <- RunCoxRegression(df, time1, time2, event, names, Term_n, tform,
keep_constant, a_n, modelform, fir, der_iden, control)