REGModel {regport} | R Documentation |
R6 class representing a regression model
Description
Contains fields storing data and methods to build, process and visualize a regression model. Currently, this class is designed for CoxPH and GLM regression models.
Public fields
data
a
data.table
storing modeling data.recipe
an R
formula
storing model formula.terms
all terms (covariables, i.e. columns) used for building model.
args
other arguments used for building model.
model
a constructed model.
type
model type (class).
result
model result, a object of
parameters_model
. Can be converted into data.frame withas.data.frame()
ordata.table::as.data.table()
.forest_data
more detailed data used for plotting forest.
Methods
Public methods
Method new()
Build a REGModel
object.
Usage
REGModel$new( data, recipe, ..., f = c("coxph", "binomial", "gaussian", "Gamma", "inverse.gaussian", "poisson", "quasi", "quasibinomial", "quasipoisson"), exp = NULL, ci = 0.95 )
Arguments
data
a
data.table
storing modeling data.recipe
an R
formula
or a list with two elements 'x' and 'y', where 'x' is for covariables and 'y' is for label. See example for detail operation....
other parameters passing to corresponding regression model function.
f
a length-1 string specifying modeling function or family of
glm()
, default is 'coxph'. Other options are members of GLM family, seestats::family()
. 'binomial' is logistic, and 'gaussian' is linear.exp
logical, indicating whether or not to exponentiate the the coefficients.
ci
confidence Interval (CI) level. Default to 0.95 (95%). e.g.
survival::coxph()
.
Returns
a REGModel
R6 object.
Method get_forest_data()
get tidy data for plotting forest.
Usage
REGModel$get_forest_data(separate_factor = FALSE, global_p = FALSE)
Arguments
separate_factor
separate factor/class as a blank row.
global_p
if
TRUE
, return global p value.
Method plot_forest()
plot forest.
Usage
REGModel$plot_forest(ref_line = NULL, xlim = NULL, ...)
Arguments
ref_line
reference line, default is
1
for HR.xlim
limits of x axis.
...
other plot options passing to
forestploter::forest()
. Also check https://github.com/adayim/forestploter to see more complex adjustment of the result plot.
Method plot()
print the REGModel$result
with default plot methods from see package.
Usage
REGModel$plot(...)
Arguments
...
other parameters passing to
plot()
insee:::plot.see_parameters_model
function.
Method print()
print the REGModel
object
Usage
REGModel$print(...)
Arguments
...
unused.
Method clone()
The objects of this class are cloneable with this method.
Usage
REGModel$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Examples
library(survival)
test1 <- data.frame(
time = c(4, 3, 1, 1, 2, 2, 3),
status = c(1, 1, 1, 0, 1, 1, 0),
x = c(0, 2, 1, 1, 1, 0, 0),
sex = c(0, 0, 0, 0, 1, 1, 1)
)
test1$sex <- factor(test1$sex)
# --------------
# Build a model
# --------------
# way 1:
mm <- REGModel$new(
test1,
Surv(time, status) ~ x + strata(sex)
)
mm
as.data.frame(mm$result)
if (require("see")) mm$plot()
mm$print() # Same as print(mm)
# way 2:
mm2 <- REGModel$new(
test1,
recipe = list(
x = c("x", "strata(sex)"),
y = c("time", "status")
)
)
mm2
# Add other parameters, e.g., weights
# For more, see ?coxph
mm3 <- REGModel$new(
test1,
recipe = list(
x = c("x", "strata(sex)"),
y = c("time", "status")
),
weights = c(1, 1, 1, 2, 2, 2, 3)
)
mm3$args
# ----------------------
# Another type of model
# ----------------------
library(stats)
counts <- c(18, 17, 15, 20, 10, 20, 25, 13, 12)
outcome <- gl(3, 1, 9)
treatment <- gl(3, 3)
data <- data.frame(treatment, outcome, counts)
mm4 <- REGModel$new(
data,
counts ~ outcome + treatment,
f = "poisson"
)
mm4
mm4$plot_forest()
mm4$get_forest_data()
mm4$plot_forest()