Learn R Programming

genlasso (version 1.2)

coef.genlasso: Extract cefficients from a genlasso object

Description

This function extracts coefficients from a generalized lasso solution path object, for any set of tuning parameter values along the path. It can return dual coefficients. The requested coefficients can also be parametrized by degrees of freedom value instead of tuning parameter value.

Usage

## S3 method for class 'genlasso':
coef(object, lambda, nlam, df, type = c("primal", "dual", "both"), ...)

Arguments

object
an object of class "genlasso", or an object which inherits this class (i.e., "fusedlasso", "trendfilter").
lambda
a numeric vector of tuning parameter values at which coefficients should be calculated. The user can choose to specify one of lambda, nlam, or df; if none are specified, then coefficients are returned at
nlam
an integer indicating a number of tuning parameters values at which coefficients should be calculated. The tuning parameter values are then chosen to be equally spaced on the log scale over the first half of the solution path (this is if the f
df
an integer vector of degrees of freedom values at which coefficients should be calculated. In the case that a single degrees of freedom value appears multiple times throughout the solution path, the least regularized solution (corresponding t
type
a character string, one of "primal", "dual", or "both", indicating whether primal coefficients, dual coefficients, or both, should be returned. Default is "primal", which corresponds to the solution of the original problem.
...
additional arguments passed to coef.

Value

  • Returns a list with the following components:
  • betaif the type is "primal" or "both", a matrix containing the primal coefficients, each column corresponding to a value of lambda.
  • uif the type is "dual" or "both", a matrix containing the dual coefficients, each column corresponding to a value of lambda.
  • lambdaa numeric vector containing the sequence of tuning parameter values, corresponding to the columns of beta and u.
  • dfan integer vector containing the sequence of degrees of freedom values corresponding to the columns of beta and u.

See Also

genlasso, predict.genlasso, plot.genlasso

Examples

Run this code
# Constant trend filtering (the 1d fused lasso)
set.seed(0)
n = 20
beta0 = rep(sample(1:10,5),each=n/5)
y = beta0 + rnorm(n,sd=0.5)
a = fusedlasso1d(y)

# Get the coefficients that use 3, 4, and 5 degrees
# of freedom 
coef(a,df=3:5)

Run the code above in your browser using DataLab