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 with as.data.frame() or data.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, see stats::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() in see:::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()

[Package regport version 0.3.0 Index]