prioritylasso

R-CMD-check R-CMD-check

prioritylasso is an R package that fits successive Lasso models for several blocks of (omics) data with different priorities and takes the predicted values as an offset for the next block.

Installation

For the latest stable release from CRAN use:

install.packages("prioritylasso")

To get the latest version from github, use:

remotes::install_github("jonas-hag/prioritylasso")

Usage

The basic functionality is provided by the prioritylasso function. You can run a simple model with a gaussian dependent variable:

results <- prioritylasso(
  X = matrix(rnorm(50 * 500), 50, 500),
  Y = rnorm(50),
  family = "gaussian",
  type.measure = "mse",
  blocks = list(bp1 = 1:75, bp2 = 76:200, bp3 = 201:500),
  max.coef = c(Inf, 8, 5),
  block1.penalization = TRUE,
  lambda.type = "lambda.min",
  standardize = TRUE,
  nfolds = 5,
  cvoffset = FALSE
)

Binary outcome data and Cox models are also possible. For a better overview, have a look at the introductory vignette.

Block-wise missing data

A special type of missing data is block-wise missing data and occurs when the data contains “blocks”, e.g. several variables that belong together like clinical measurements, mRNA sequencing data, SNP data etc. This means that for some observations not all blocks are observed. To deal with this type of missingness, prioritylasso provides the following options to fit a model to a data set:

These options can be set in the function missing.control.

If a prioritylasso model should be used to predict on data with block-wise missing data, the following options are available:

These options can be set in handle.missingtestdata of the predict function.

Paper

For more information about the method, see the following paper:

Klau, Simon, Vindi Jurinovic, Roman Hornung, Tobias Herold, and Anne-Laure Boulesteix. “Priority-Lasso: a simple hierarchical approach to the prediction of clinical outcome using multi-omics data.” BMC bioinformatics 19, no. 1 (2018): 1-14.