RunPoissonRegression
uses user provided data, person-year/event columns, vectors specifying the model, and options to control the convergence and starting positions with no special options
RunPoissonRegression(
df,
pyr0 = "pyr",
event0 = "event",
names = c("CONST"),
term_n = c(0),
tform = "loglin",
keep_constant = c(0),
a_n = c(0),
modelform = "M",
fir = 0,
der_iden = 0,
control = list()
)
returns a list of the final results
a data.table containing the columns of interest
column used for person-years per row
column used for event status
columns for elements of the model, used to identify data columns
term numbers for each element of the model
list of string function identifiers, used for linear/step
binary values to denote which parameters to change
list of initial parameter values, used to determine number of parameters. May be either a list of vectors or a single vector.
string specifying the model type: M, ME, A, PA, PAE, GMIX, GMIX-R, GMIX-E
term number for the initial term, used for models of the form T0*f(Ti) in which the order matters
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. indexed starting at 0
list of parameters controlling the convergence, see Def_Control() for options or vignette("Control_Options")
Other Poisson Wrapper Functions:
PoissonCurveSolver()
,
RunPoissonEventAssignment()
,
RunPoissonEventAssignment_bound()
,
RunPoissonRegression_Guesses_CPP()
,
RunPoissonRegression_Joint_Omnibus()
,
RunPoissonRegression_Omnibus()
,
RunPoissonRegression_Residual()
,
RunPoissonRegression_Single()
,
RunPoissonRegression_Strata()
,
RunPoissonRegression_Tier_Guesses()
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
df$pyr <- df$Ending_Age - df$Starting_Age
pyr <- "pyr"
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,
"deriv_epsilon" = 1e-3, "abs_max" = 1.0, "change_all" = TRUE,
"dose_abs_max" = 100.0, "verbose" = FALSE, "double_step" = 1
)
e <- RunPoissonRegression(
df, pyr, event, names, term_n, tform,
keep_constant,
a_n, modelform, fir, der_iden, control
)
Run the code above in your browser using DataLab