RunPoissonRegression_Guesses_CPP {Colossus} | R Documentation |
Performs basic Poisson regression, Allows for multiple starting guesses on c++ side
Description
RunPoissonRegression_Guesses_CPP
uses user provided data, time/event columns, vectors specifying the model, and options to control the convergence and starting positions. Has additional options to starting with several initial guesses
Usage
RunPoissonRegression_Guesses_CPP(
df,
pyr0,
event0,
names,
Term_n,
tform,
keep_constant,
a_n,
modelform,
fir,
der_iden,
control,
guesses_control,
Strat_Col = c("null"),
model_control = list()
)
Arguments
df |
a data.table containing the columns of interest |
pyr0 |
column used for person-years per row |
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") |
guesses_control |
list of parameters to control how the guessing works, see Def_Control_Guess() for options or vignette("Alt_Distrib_Starts") |
Strat_Col |
column to stratify by if needed |
model_control |
controls which alternative model options are used, see Def_model_control() for options and vignette("Alt_Run_opt") for further details |
Value
returns a list of the final results
See Also
Other Poisson Wrapper Functions:
RunPoissonEventAssignment()
,
RunPoissonRegression()
,
RunPoissonRegression_Joint_Omnibus()
,
RunPoissonRegression_Omnibus()
,
RunPoissonRegression_STRATA()
,
RunPoissonRegression_Single()
,
RunPoissonRegression_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),
"e"=c(0, 0, 1, 0, 0, 0, 1))
# For the interval case
pyr <- "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
Term_n <- c(0,1,1,2)
tform <- c("loglin","lin","lin","plin")
modelform <- "M"
fir <- 0
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)
guesses_control <- list("maxiter"=10,"guesses"=10,"lin_min"=0.001,"lin_max"=1,
"loglin_min"=-1,"loglin_max"=1, "lin_method"="uniform","loglin_method"="uniform",strata=FALSE)
Strat_Col <- 'e'
e <- RunPoissonRegression_Guesses_CPP(df, pyr, event, names, Term_n,
tform, keep_constant, a_n, modelform, fir,
der_iden, control,guesses_control,Strat_Col)