Functions that fit a model until q variables are selected and that returns the indices (and names) of the selected variables.
1 2 3 4 5 6 7  ## package lars:
lars.lasso(x, y, q, ...)
lars.stepwise(x, y, q, ...)
## package glmnet:
glmnet.lasso(x, y, q, type = c("conservative", "anticonservative"), ...)
glmnet.lasso_maxCoef(x, y, q, ...)

x 
a matrix containing the predictors or an object of class

y 
a vector or matrix containing the outcome. 
q 
number of (unique) selected variables (or groups of variables depending on the model) that are selected on each subsample. 
type 
a charachter vector specifying if the number of selected
variables per subsample is <= q ( 
... 
additional arguments passed to the underlying fitting function.
See the example on 
All fitting functions are named after the package and the type of
model that is fitted: package_name.model
, e.g.,
glmnet.lasso
stands for a lasso model that is fitted using the
package glmnet.
glmnet.lasso_maxCoef
fits a lasso model with a given penalty parameter
and returns the q
largest coefficients. If one wants to use
glmnet.lasso_maxCoef
, one must specify the penalty parameter
lambda
(via the ...
argument) or in
stabsel
via args.fitfun(lambda = )
. Note that usually,
the penalty parameter cannot be specified but is chosen such that q
variables are selected. For an example on how to use
glmnet.lasso_maxCoef
see stabsel
.
A named list with elements
selected 
logical. A vector that indicates which variable was selected. 
path 
logical. A matrix that indicates which variable was selected in which step. Each row represents one variable, the columns represent the steps. 
stabsel
for stability selection itself, and quic.graphical_model
for stability selection for graphical models.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26  if (require("TH.data")) {
## make data set available
data("bodyfat", package = "TH.data")
} else {
## simulate some data if TH.data not available.
## Note that results are nonsense with this data.
bodyfat < matrix(rnorm(720), nrow = 72, ncol = 10)
}
if (require("lars")) {
## selected variables
lars.lasso(bodyfat[, 2], bodyfat[,2], q = 3)$selected
lars.stepwise(bodyfat[, 2], bodyfat[,2], q = 3)$selected
}
if (require("glmnet")) {
glmnet.lasso(bodyfat[, 2], bodyfat[,2], q = 3)$selected
## selection path
glmnet.lasso(bodyfat[, 2], bodyfat[,2], q = 3)$path
## Using the anticonservative glmnet.lasso (see args.fitfun):
stab.glmnet < stabsel(x = bodyfat[, 2], y = bodyfat[,2],
fitfun = glmnet.lasso,
args.fitfun = list(type = "anticonservative"),
cutoff = 0.75, PFER = 1)
}

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.