MyNixOS website logo
Description

Analyzing Multiple Omics Data with an Offset Approach.

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. Also offers options to deal with block-wise missingness in multi-omics data.

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:

  • ignore: the Lasso model for every block is only fitted with the observations that have no missing values for this block. For observations with the current block missing, the offset from the previous block is carried forward
  • impute: the Lasso model for every block is only fitted with the observations that have no missing values for this block. For observations with the current block missing, the offset from the previous block is imputed. The imputation model is either based on all other blocks or it is tried to use as much information as possible for more complex missingness patterns.

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:

  • set.zero: ignores the missing data for the calculation of the prediction (the missing value is set to zero)
  • impute.block: use an imputation model to impute the offset of a missing block. In order to work, the prioritylasso model must be trained with the option impute and the missingness patterns in the test data have to be the same as in the train data

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.

Metadata

Version

0.3.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows