Learn R Programming

projpred (version 2.4.0)

solution_terms: Retrieve predictor solution path or predictor combination

Description

This function retrieves the "solution terms" from an object. For vsel objects (returned by varsel() or cv_varsel()), this is the predictor solution path of the variable selection. For projection objects (returned by project(), possibly as elements of a list), this is the predictor combination onto which the projection was performed.

Usage

solution_terms(object, ...)

# S3 method for vsel solution_terms(object, ...)

# S3 method for projection solution_terms(object, ...)

Value

A character vector of solution terms.

Arguments

object

The object from which to retrieve the solution terms. Possible classes may be inferred from the names of the corresponding methods (see also the description).

...

Currently ignored.

Examples

Run this code
if (requireNamespace("rstanarm", quietly = TRUE)) {
  # Data:
  dat_gauss <- data.frame(y = df_gaussian$y, df_gaussian$x)

  # The "stanreg" fit which will be used as the reference model (with small
  # values for `chains` and `iter`, but only for technical reasons in this
  # example; this is not recommended in general):
  fit <- rstanarm::stan_glm(
    y ~ X1 + X2 + X3 + X4 + X5, family = gaussian(), data = dat_gauss,
    QR = TRUE, chains = 2, iter = 500, refresh = 0, seed = 9876
  )

  # Variable selection (here without cross-validation and with small values
  # for `nterms_max`, `nclusters`, and `nclusters_pred`, but only for the
  # sake of speed in this example; this is not recommended in general):
  vs <- varsel(fit, nterms_max = 3, nclusters = 5, nclusters_pred = 10,
               seed = 5555)
  print(solution_terms(vs))

  # Projection onto an arbitrary combination of predictor terms (with a small
  # value for `nclusters`, but only for the sake of speed in this example;
  # this is not recommended in general):
  prj <- project(fit, solution_terms = c("X1", "X3", "X5"), nclusters = 10,
                 seed = 9182)
  print(solution_terms(prj)) # gives `c("X1", "X3", "X5")`
}

Run the code above in your browser using DataLab