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)

[Package Colossus version 1.1.1 Index]