Fully runs a joint poisson regression model, returning the model and results
Source:R/BasicRun.R
PoisRunJoint.Rd
PoisRunJoint
uses a list of formula, data.table, and list of controls to prepare and
run a Colossus poisson regression function on a joint dataset
Arguments
- model
either a formula written for the get_form function, or the model result from the get_form function.
- df
a data.table containing the columns of interest
- 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.
- keep_constant
binary values to denote which parameters to change
- control
list of parameters controlling the convergence, see the Control_Options vignette for details
- gradient_control
a list of control options for the gradient descent algorithm. If any value is given, a gradient descent algorithm is used instead of Newton-Raphson. See the Control_Options vignette for details
- single
a boolean to denote that only the log-likelihood should be calculated and returned, no derivatives or iterations
- observed_info
a boolean to denote that the observed information matrix should be used to calculate the standard error for parameters, not the expected information matrix
- cons_mat
Matrix containing coefficients for a system of linear constraints, formatted as matrix
- cons_vec
Vector containing constants for a system of linear constraints, formatted as vector
- ...
can include the named entries for the control list parameter
See also
Other Poisson Wrapper Functions:
EventAssignment.poisres()
,
LikelihoodBound.poisres()
,
PoisRun()
,
PoissonCurveSolver()
,
Residual.poisres()
,
RunPoissonEventAssignment()
,
RunPoissonEventAssignment_bound()
,
RunPoissonRegression_Joint_Omnibus()
,
RunPoissonRegression_Omnibus()
,
RunPoissonRegression_Residual()
Examples
library(data.table)
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),
"Flu_Status" = c(0, 1, 0, 0, 1, 0, 1),
"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)
)
formula_list <- list(Pois(Ending_Age, Cancer_Status) ~ plinear(d, 0),
Pois(Ending_Age, Flu_Status) ~ loglinear(d, 0),
"shared" = Pois(Ending_Age) ~ loglinear(a, b, c, 0)
)
res <- PoisRunJoint(formula_list, df)