Learn R Programming

genlasso (version 1.6.1)

getDxx: Helper functions for constructing generalized lasso penalty matrices

Description

These are utility functions for creating penalty matrices for the fused lasso and trend filtering problems. Most users will not need to explicitly construct these as they are created internally by the fusedlasso or trendfilter functions. The sparse variants output sparse matrices, which should be used whenever possible because of a significant savings in both construction speed and memory usage.

The function getGraph is an inverse function for fused lasso problems, returning an igraph object (from the igraph package), the graph corresponding to the passed penalty matrix.

Usage

getD1d(n)
getD1dSparse(n)
getD2d(dim1, dim2)
getD2dSparse(dim1, dim2)
getDg(graph)
getDgSparse(graph)
getDtf(n, ord)
getDtfSparse(n, ord) 
getDtfPos(n, ord, pos)
getDtfPosSparse(n, ord, pos)
getGraph(D)

Value

All functions except getGraph return a penalty matrix, either in standard R matrix format or as a sparse matrix of class

dgCMatrix via the Matrix package. The function

getGraph returns an igraph object from the igraph

package.

Arguments

The arguments for the sparse variants are identical to those for the regular variants, which are described below.

n

for getD1d, getDtf, and getDtfPos, the number of points in the 1d sequence.

dim1, dim2

for getD2d, the number of rows and columns in the 2d grid, respectively.

graph

for getDg, an igraph object from the igraph package, upon which the penalty matrix should be based (the penalty matrix is the oriented incidence matrix of the graph, with arbitrary orientations assigned to each edge).

ord

for getDtf, and getDtfPos, the order of the polynomial. E.g., ord=0 is the 1d fused lasso and ord=1 is linear trend filtering. Hence the returned matrix is the discrete (ord+1)st derivative operator.

pos

for getDtfPos, a numeric vector giving the positions of points in the 1d sequence. Must have length n.

D

for getGraph, a fused lasso penalty matrix, the incidence matrix of an undirected graph, with arbitrary edge orientations.

See Also

fusedlasso, trendfilter

Examples

Run this code
getD1d(9)
getDtfSparse(10,2)

graph = getGraph(getD2dSparse(4,4))
plot(graph)

Run the code above in your browser using DataLab