Gitlab is now using https://gitlab.lcsb.uni.lu as it's primary address. Please update your bookmarks. FAQ.

Commit 05b38bf4 authored by Armin Rauschenberger's avatar Armin Rauschenberger
Browse files

automation

parent f4df6530
This package was submitted to CRAN on 2019-08-02.
Once it is accepted, delete this file and tag the release (commit a4d115213f).
Package: joinet Package: joinet
Version: 0.0.2 Version: 0.0.2
Title: Multivariate Regression through Stacked Generalisation Title: Multivariate Elastic Net Regression
Description: Implements high-dimensional multivariate regression by stacked generalisation (Wolpert 1992 <doi:10.1016/S0893-6080(05)80023-1>). For positively correlated outcomes, a single multivariate regression is typically more predictive than multiple univariate regressions. Includes functions for model fitting, extracting coefficients, outcome prediction, and performance measurement. Description: Implements high-dimensional multivariate regression by stacked generalisation (Wolpert 1992 <doi:10.1016/S0893-6080(05)80023-1>). For positively correlated outcomes, a single multivariate regression is typically more predictive than multiple univariate regressions. Includes functions for model fitting, extracting coefficients, outcome prediction, and performance measurement.
Depends: R (>= 3.0.0) Depends: R (>= 3.0.0)
Imports: glmnet, palasso, cornet Imports: glmnet, palasso, cornet
......
## joinet 0.0.1 (2019-07-31)
## joinet 0.0.2 (2019-08-08)
* performance comparison
## joinet 0.0.1 (2019-08-03)
* first submission * first submission
\ No newline at end of file
...@@ -56,7 +56,8 @@ ...@@ -56,7 +56,8 @@
#' #'
#' @references #' @references
#' Armin Rauschenberger, Enrico Glaab (2019) #' Armin Rauschenberger, Enrico Glaab (2019)
#' "Multivariate elastic net regression through stacked generalisation" #' "joinet: predicting correlated outcomes jointly
#' to improve clinical prognosis"
#' \emph{Manuscript in preparation}. #' \emph{Manuscript in preparation}.
#' #'
#' @details #' @details
...@@ -80,7 +81,7 @@ ...@@ -80,7 +81,7 @@
#' \eqn{q} \code{\link[glmnet]{cv.glmnet}}-like objects. #' \eqn{q} \code{\link[glmnet]{cv.glmnet}}-like objects.
#' #'
#' @seealso #' @seealso
#' \code{\link{cv.joinet}}, \code{browseVignettes("joinet")} #' \code{\link{cv.joinet}}, vignette
#' #'
#' @examples #' @examples
#' n <- 50; p <- 100; q <- 3 #' n <- 50; p <- 100; q <- 3
...@@ -88,6 +89,9 @@ ...@@ -88,6 +89,9 @@
#' Y <- replicate(n=q,expr=rnorm(n=n,mean=rowSums(X[,1:5]))) #' Y <- replicate(n=q,expr=rnorm(n=n,mean=rowSums(X[,1:5])))
#' object <- joinet(Y=Y,X=X) #' object <- joinet(Y=Y,X=X)
#' #'
#' \dontrun{
#' browseVignettes("joinet") # further examples}
#'
joinet <- function(Y,X,family="gaussian",nfolds=10,foldid=NULL,type.measure="deviance",alpha.base=1,alpha.meta=0,...){ joinet <- function(Y,X,family="gaussian",nfolds=10,foldid=NULL,type.measure="deviance",alpha.base=1,alpha.meta=0,...){
#--- temporary --- #--- temporary ---
...@@ -421,7 +425,7 @@ print.joinet <- function(x,...){ ...@@ -421,7 +425,7 @@ print.joinet <- function(x,...){
#' Model comparison #' Model comparison
#' #'
#' @description #' @description
#' Compares univariate and multivariate regression #' Compares univariate and multivariate regression.
#' #'
#' @inheritParams joinet #' @inheritParams joinet
#' #'
...@@ -453,7 +457,9 @@ print.joinet <- function(x,...){ ...@@ -453,7 +457,9 @@ print.joinet <- function(x,...){
#' #'
#' @return #' @return
#' This function returns a matrix with \eqn{q} columns, #' This function returns a matrix with \eqn{q} columns,
#' including the cross-validated loss. #' including the cross-validated loss from the univariate models
#' (\code{base}), the multivariate models (\code{meta}),
#' and the intercept-only models (\code{none}).
#' #'
#' @examples #' @examples
#' n <- 50; p <- 100; q <- 3 #' n <- 50; p <- 100; q <- 3
......
...@@ -21,7 +21,7 @@ knitr::opts_chunk$set( ...@@ -21,7 +21,7 @@ knitr::opts_chunk$set(
## Scope ## Scope
Multivariate Elastic Net Regression (extending the [R](https://cran.r-project.org) package [glmnet](https://CRAN.R-project.org/package=glmnet)). Multivariate elastic net regression through stacked generalisation (extending the [R](https://cran.r-project.org) package [glmnet](https://CRAN.R-project.org/package=glmnet)).
## Installation ## Installation
...@@ -40,6 +40,4 @@ devtools::install_github("rauschenberger/joinet") ...@@ -40,6 +40,4 @@ devtools::install_github("rauschenberger/joinet")
## Reference ## Reference
Armin Rauschenberger and Enrico Glaab (2019). Armin Rauschenberger and Enrico Glaab (2019). "joinet: predicting correlated outcomes jointly to improve clinical prognosis". *Manuscript in preparation.*
"Multivariate regression through stacked generalisation".
*Manuscript in preparation.*
...@@ -10,8 +10,8 @@ Status](https://codecov.io/github/rauschenberger/joinet/coverage.svg?branch=mast ...@@ -10,8 +10,8 @@ Status](https://codecov.io/github/rauschenberger/joinet/coverage.svg?branch=mast
## Scope ## Scope
Multivariate Elastic Net Regression (extending the Multivariate elastic net regression through stacked generalisation
[R](https://cran.r-project.org) package (extending the [R](https://cran.r-project.org) package
[glmnet](https://CRAN.R-project.org/package=glmnet)). [glmnet](https://CRAN.R-project.org/package=glmnet)).
## Installation ## Installation
...@@ -33,5 +33,6 @@ devtools::install_github("rauschenberger/joinet") ...@@ -33,5 +33,6 @@ devtools::install_github("rauschenberger/joinet")
## Reference ## Reference
Armin Rauschenberger and Enrico Glaab (2019). “Multivariate regression Armin Rauschenberger and Enrico Glaab (2019). “joinet: predicting
through stacked generalisation”. *Manuscript in preparation.* correlated outcomes jointly to improve clinical prognosis”. *Manuscript
in preparation.*
Thanks, I improved the description, added a DOI, and added the value fields. # Notes
\ No newline at end of file
- Early update because of manuscript submission (examples, vignettes).
- The maintainer email will change to armin.rauschenberger@uni.lu.
\ No newline at end of file
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Stacked Elastic Net • joinet</title> <title>Multivariate Elastic Net Regression • joinet</title>
<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/spacelab/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"> <!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/spacelab/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous"> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"> <!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script><meta property="og:title" content="Stacked Elastic Net"> <script src="../pkgdown.js"></script><meta property="og:title" content="Multivariate Elastic Net Regression">
<meta property="og:description" content=""> <meta property="og:description" content="">
<meta name="twitter:card" content="summary"> <meta name="twitter:card" content="summary">
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> <!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
</header><div class="row"> </header><div class="row">
<div class="col-md-9 contents"> <div class="col-md-9 contents">
<div class="page-header toc-ignore"> <div class="page-header toc-ignore">
<h1>Stacked Elastic Net</h1> <h1>Multivariate Elastic Net Regression</h1>
<small class="dont-index">Source: <a href="https://github.com/rauschenberger/joinet/blob/master/vignettes/article.Rmd"><code>vignettes/article.Rmd</code></a></small> <small class="dont-index">Source: <a href="https://github.com/rauschenberger/joinet/blob/master/vignettes/article.Rmd"><code>vignettes/article.Rmd</code></a></small>
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
<div id="reference" class="section level2"> <div id="reference" class="section level2">
<h2 class="hasAnchor"> <h2 class="hasAnchor">
<a href="#reference" class="anchor"></a>Reference</h2> <a href="#reference" class="anchor"></a>Reference</h2>
<p>Armin Rauschenberger and Enrico Glaab (2019). “Multivariate regression through stacked generalisation”. <em>Manuscript in preparation.</em></p> <p>Armin Rauschenberger and Enrico Glaab (2019). “joinet: predicting correlated outcomes jointly to improve clinical prognosis”. <em>Manuscript in preparation.</em></p>
</div> </div>
</div> </div>
......
...@@ -113,8 +113,8 @@ ...@@ -113,8 +113,8 @@
<p class="section-desc"></p> <p class="section-desc"></p>
<ul> <ul>
<li><a href="article.html">Stacked Elastic Net</a></li> <li><a href="article.html">Multivariate Elastic Net Regression</a></li>
<li><a href="vignette.html">Multivariate Elastic Net</a></li> <li><a href="vignette.html">Multivariate Elastic Net Regression</a></li>
</ul> </ul>
</div> </div>
</div> </div>
......
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Multivariate Elastic Net • joinet</title> <title>Multivariate Elastic Net Regression • joinet</title>
<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/spacelab/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"> <!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/spacelab/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous"> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"> <!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script><meta property="og:title" content="Multivariate Elastic Net"> <script src="../pkgdown.js"></script><meta property="og:title" content="Multivariate Elastic Net Regression">
<meta property="og:description" content=""> <meta property="og:description" content="">
<meta name="twitter:card" content="summary"> <meta name="twitter:card" content="summary">
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> <!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
</header><div class="row"> </header><div class="row">
<div class="col-md-9 contents"> <div class="col-md-9 contents">
<div class="page-header toc-ignore"> <div class="page-header toc-ignore">
<h1>Multivariate Elastic Net</h1> <h1>Multivariate Elastic Net Regression</h1>
<small class="dont-index">Source: <a href="https://github.com/rauschenberger/joinet/blob/master/vignettes/vignette.Rmd"><code>vignettes/vignette.Rmd</code></a></small> <small class="dont-index">Source: <a href="https://github.com/rauschenberger/joinet/blob/master/vignettes/vignette.Rmd"><code>vignettes/vignette.Rmd</code></a></small>
...@@ -162,28 +162,24 @@ ...@@ -162,28 +162,24 @@
<div id="reference" class="section level2"> <div id="reference" class="section level2">
<h2 class="hasAnchor"> <h2 class="hasAnchor">
<a href="#reference" class="anchor"></a>Reference</h2> <a href="#reference" class="anchor"></a>Reference</h2>
<p>Armin Rauschenberger and Enrico Glaab (2019). “Multivariate regression through stacked generalisation”. <em>Manuscript in preparation.</em></p> <p>Armin Rauschenberger and Enrico Glaab (2019). “joinet: predicting correlated outcomes jointly to improve clinical prognosis”. <em>Manuscript in preparation.</em> <!--
<!--
```r ```r
#install.packages("plsgenomics") #install.packages("plsgenomics")
data(Ecoli,package="plsgenomics") data(Ecoli,package="plsgenomics")
X <- Ecoli$CONNECdata X <- Ecoli$CONNECdata
Y <- Ecoli$GEdata Y <- Ecoli$GEdata
loss <- joinet:::cv.joinet(Y=Y,X=X) loss <- cv.joinet(Y=Y,X=X)
```
```r
#install.packages("BiocManager") #install.packages("BiocManager")
#BiocManager::install("mixOmics") #BiocManager::install("mixOmics")
data(liver.toxicity,package="mixOmics") data(liver.toxicity,package="mixOmics")
X <- liver.toxicity$gene X <- liver.toxicity$gene
Y <- liver.toxicity$clinic Y <- liver.toxicity$clinic
Y$Cholesterol.mg.dL. <- -Y$Cholesterol.mg.dL. Y$Cholesterol.mg.dL. <- -Y$Cholesterol.mg.dL.
loss <- joinet:::cv.joinet(Y=Y,X=X) loss <- cv.joinet(Y=Y,X=X)
``` ```
--> --></p>
</div> </div>
</div> </div>
......
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Multivariate Regression through Stacked Generalisation • joinet</title> <title>Multivariate Elastic Net Regression • joinet</title>
<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/spacelab/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"> <!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/spacelab/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous"> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet"> <!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script><!-- sticky kit --><script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet">
<script src="pkgdown.js"></script><meta property="og:title" content="Multivariate Regression through Stacked Generalisation"> <script src="pkgdown.js"></script><meta property="og:title" content="Multivariate Elastic Net Regression">
<meta property="og:description" content="Implements high-dimensional multivariate regression by stacked generalisation (Wolpert 1992 &lt;doi:10.1016/S0893-6080(05)80023-1&gt;). For positively correlated outcomes, a single multivariate regression is typically more predictive than multiple univariate regressions. Includes functions for model fitting, extracting coefficients, outcome prediction, and performance measurement."> <meta property="og:description" content="Implements high-dimensional multivariate regression by stacked generalisation (Wolpert 1992 &lt;doi:10.1016/S0893-6080(05)80023-1&gt;). For positively correlated outcomes, a single multivariate regression is typically more predictive than multiple univariate regressions. Includes functions for model fitting, extracting coefficients, outcome prediction, and performance measurement.">
<meta name="twitter:card" content="summary"> <meta name="twitter:card" content="summary">
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> <!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
<div id="scope" class="section level2"> <div id="scope" class="section level2">
<h2 class="hasAnchor"> <h2 class="hasAnchor">
<a href="#scope" class="anchor"></a>Scope</h2> <a href="#scope" class="anchor"></a>Scope</h2>
<p>Multivariate Elastic Net Regression (extending the <a href="https://cran.r-project.org">R</a> package <a href="https://CRAN.R-project.org/package=glmnet">glmnet</a>).</p> <p>Multivariate elastic net regression through stacked generalisation (extending the <a href="https://cran.r-project.org">R</a> package <a href="https://CRAN.R-project.org/package=glmnet">glmnet</a>).</p>
</div> </div>
<div id="installation" class="section level2"> <div id="installation" class="section level2">
<h2 class="hasAnchor"> <h2 class="hasAnchor">
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
<div id="reference" class="section level2"> <div id="reference" class="section level2">
<h2 class="hasAnchor"> <h2 class="hasAnchor">
<a href="#reference" class="anchor"></a>Reference</h2> <a href="#reference" class="anchor"></a>Reference</h2>
<p>Armin Rauschenberger and Enrico Glaab (2019). “Multivariate regression through stacked generalisation”. <em>Manuscript in preparation.</em></p> <p>Armin Rauschenberger and Enrico Glaab (2019). “joinet: predicting correlated outcomes jointly to improve clinical prognosis”. <em>Manuscript in preparation.</em></p>
</div> </div>
</div> </div>
......
...@@ -109,9 +109,16 @@ ...@@ -109,9 +109,16 @@
<small>Source: <a href='https://github.com/rauschenberger/joinet/blob/master/NEWS.md'><code>NEWS.md</code></a></small> <small>Source: <a href='https://github.com/rauschenberger/joinet/blob/master/NEWS.md'><code>NEWS.md</code></a></small>
</div> </div>
<div id="joinet-001-2019-07-31" class="section level2"> <div id="joinet-002-2019-08-08" class="section level2">
<h2 class="hasAnchor"> <h2 class="hasAnchor">
<a href="#joinet-001-2019-07-31" class="anchor"></a>joinet 0.0.1 (2019-07-31)</h2> <a href="#joinet-002-2019-08-08" class="anchor"></a>joinet 0.0.2 (2019-08-08)</h2>
<ul>
<li>performance comparison</li>
</ul>
</div>
<div id="joinet-001-2019-08-03" class="section level2">
<h2 class="hasAnchor">
<a href="#joinet-001-2019-08-03" class="anchor"></a>joinet 0.0.1 (2019-08-03)</h2>
<ul> <ul>
<li>first submission</li> <li>first submission</li>
</ul> </ul>
...@@ -122,7 +129,8 @@ ...@@ -122,7 +129,8 @@
<div id="tocnav"> <div id="tocnav">
<h2>Contents</h2> <h2>Contents</h2>
<ul class="nav nav-pills nav-stacked"> <ul class="nav nav-pills nav-stacked">
<li><a href="#joinet-001-2019-07-31">0.0.1</a></li> <li><a href="#joinet-002-2019-08-08">0.0.2</a></li>
<li><a href="#joinet-001-2019-08-03">0.0.1</a></li>
</ul> </ul>
</div> </div>
</div> </div>
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<meta property="og:title" content="Model comparison — cv.joinet" /> <meta property="og:title" content="Model comparison — cv.joinet" />
<meta property="og:description" content="Compares univariate and multivariate regression" /> <meta property="og:description" content="Compares univariate and multivariate regression." />
<meta name="twitter:card" content="summary" /> <meta name="twitter:card" content="summary" />
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
<div class="ref-description"> <div class="ref-description">
<p>Compares univariate and multivariate regression</p> <p>Compares univariate and multivariate regression.</p>
</div> </div>
...@@ -200,7 +200,9 @@ and <code><a href='https://www.rdocumentation.org/packages/glmnet/topics/cv.glmn ...@@ -200,7 +200,9 @@ and <code><a href='https://www.rdocumentation.org/packages/glmnet/topics/cv.glmn
<h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2> <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>
<p>This function returns a matrix with \(q\) columns, <p>This function returns a matrix with \(q\) columns,
including the cross-validated loss.</p> including the cross-validated loss from the univariate models
(<code>base</code>), the multivariate models (<code>meta</code>),
and the intercept-only models (<code>none</code>).</p>
<h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
......
...@@ -201,19 +201,23 @@ ridge renders dense models (<code>alpha</code>\(=0\))</p> ...@@ -201,19 +201,23 @@ ridge renders dense models (<code>alpha</code>\(=0\))</p>
<h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2> <h2 class="hasAnchor" id="references"><a class="anchor" href="#references"></a>References</h2>
<p>Armin Rauschenberger, Enrico Glaab (2019) <p>Armin Rauschenberger, Enrico Glaab (2019)
"Multivariate elastic net regression through stacked generalisation" "joinet: predicting correlated outcomes jointly
to improve clinical prognosis"
<em>Manuscript in preparation</em>.</p> <em>Manuscript in preparation</em>.</p>
<h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2> <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2>
<div class='dont-index'><p><code><a href='cv.joinet.html'>cv.joinet</a></code>, <code><a href='https://www.rdocumentation.org/packages/utils/topics/browseVignettes'>browseVignettes("joinet")</a></code></p></div> <div class='dont-index'><p><code><a href='cv.joinet.html'>cv.joinet</a></code>, vignette</p></div>
<h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
<pre class="examples"><div class='input'><span class='no'>n</span> <span class='kw'>&lt;-</span> <span class='fl'>50</span>; <span class='no'>p</span> <span class='kw'>&lt;-</span> <span class='fl'>100</span>; <span class='no'>q</span> <span class='kw'>&lt;-</span> <span class='fl'>3</span> <pre class="examples"><div class='input'><span class='no'>n</span> <span class='kw'>&lt;-</span> <span class='fl'>50</span>; <span class='no'>p</span> <span class='kw'>&lt;-</span> <span class='fl'>100</span>; <span class='no'>q</span> <span class='kw'>&lt;-</span> <span class='fl'>3</span>
<span class='no'>X</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/matrix'>matrix</a></span>(<span class='fu'><a href='https://www.rdocumentation.org/packages/stats/topics/Normal'>rnorm</a></span>(<span class='no'>n</span>*<span class='no'>p</span>),<span class='kw'>nrow</span><span class='kw'>=</span><span class='no'>n</span>,<span class='kw'>ncol</span><span class='kw'>=</span><span class='no'>p</span>) <span class='no'>X</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/matrix'>matrix</a></span>(<span class='fu'><a href='https://www.rdocumentation.org/packages/stats/topics/Normal'>rnorm</a></span>(<span class='no'>n</span>*<span class='no'>p</span>),<span class='kw'>nrow</span><span class='kw'>=</span><span class='no'>n</span>,<span class='kw'>ncol</span><span class='kw'>=</span><span class='no'>p</span>)
<span class='no'>Y</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/lapply'>replicate</a></span>(<span class='kw'>n</span><span class='kw'>=</span><span class='no'>q</span>,<span class='kw'>expr</span><span class='kw'>=</span><span class='fu'><a href='https://www.rdocumentation.org/packages/stats/topics/Normal'>rnorm</a></span>(<span class='kw'>n</span><span class='kw'>=</span><span class='no'>n</span>,<span class='kw'>mean</span><span class='kw'>=</span><span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/colSums'>rowSums</a></span>(<span class='no'>X</span>[,<span class='fl'>1</span>:<span class='fl'>5</span>]))) <span class='no'>Y</span> <span class='kw'>&lt;-</span> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/lapply'>replicate</a></span>(<span class='kw'>n</span><span class='kw'>=</span><span class='no'>q</span>,<span class='kw'>expr</span><span class='kw'>=</span><span class='fu'><a href='https://www.rdocumentation.org/packages/stats/topics/Normal'>rnorm</a></span>(<span class='kw'>n</span><span class='kw'>=</span><span class='no'>n</span>,<span class='kw'>mean</span><span class='kw'>=</span><span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/colSums'>rowSums</a></span>(<span class='no'>X</span>[,<span class='fl'>1</span>:<span class='fl'>5</span>])))
<span class='no'>object</span> <span class='kw'>&lt;-</span> <span class='fu'>joinet</span>(<span class='kw'>Y</span><span class='kw'>=</span><span class='no'>Y</span>,<span class='kw'>X</span><span class='kw'>=</span><span class='no'>X</span>)</div></pre> <span class='no'>object</span> <span class='kw'>&lt;-</span> <span class='fu'>joinet</span>(<span class='kw'>Y</span><span class='kw'>=</span><span class='no'>Y</span>,<span class='kw'>X</span><span class='kw'>=</span><span class='no'>X</span>)</div><span class='co'># NOT RUN {</span>
<span class='fu'><a href='https://www.rdocumentation.org/packages/utils/topics/browseVignettes'>browseVignettes</a></span>(<span class='st'>"joinet"</span>) <span class='co'># further examples</span>
<span class='co'># }</span><div class='input'>
</div></pre>
</div> </div>
<div class="col-md-3 hidden-xs hidden-sm" id="sidebar"> <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
<h2>Contents</h2> <h2>Contents</h2>
......
...@@ -56,10 +56,12 @@ and \code{\link[glmnet]{cv.glmnet}}} ...@@ -56,10 +56,12 @@ and \code{\link[glmnet]{cv.glmnet}}}
} }
\value{ \value{
This function returns a matrix with \eqn{q} columns, This function returns a matrix with \eqn{q} columns,
including the cross-validated loss. including the cross-validated loss from the univariate models
(\code{base}), the multivariate models (\code{meta}),
and the intercept-only models (\code{none}).
} }
\description{ \description{
Compares univariate and multivariate regression Compares univariate and multivariate regression.
} }
\examples{ \examples{
n <- 50; p <- 100; q <- 3 n <- 50; p <- 100; q <- 3
......
...@@ -70,12 +70,16 @@ X <- matrix(rnorm(n*p),nrow=n,ncol=p) ...@@ -70,12 +70,16 @@ X <- matrix(rnorm(n*p),nrow=n,ncol=p)
Y <- replicate(n=q,expr=rnorm(n=n,mean=rowSums(X[,1:5]))) Y <- replicate(n=q,expr=rnorm(n=n,mean=rowSums(X[,1:5])))
object <- joinet(Y=Y,X=X) object <- joinet(Y=Y,X=X)
\dontrun{
browseVignettes("joinet") # further examples}
} }
\references{ \references{
Armin Rauschenberger, Enrico Glaab (2019) Armin Rauschenberger, Enrico Glaab (2019)
"Multivariate elastic net regression through stacked generalisation" "joinet: predicting correlated outcomes jointly
to improve clinical prognosis"
\emph{Manuscript in preparation}. \emph{Manuscript in preparation}.
} }
\seealso{ \seealso{
\code{\link{cv.joinet}}, \code{browseVignettes("joinet")} \code{\link{cv.joinet}}, vignette
} }
--- ---
title: Stacked Elastic Net title: Multivariate Elastic Net Regression
output: rmarkdown::html_vignette output: rmarkdown::html_vignette
vignette: > vignette: >
%\VignetteIndexEntry{article} %\VignetteIndexEntry{article}
...@@ -11,6 +11,4 @@ The `joinet` manuscript is in preparation. Click [here](https://CRAN.R-project.o ...@@ -11,6 +11,4 @@ The `joinet` manuscript is in preparation. Click [here](https://CRAN.R-project.o
## Reference ## Reference
Armin Rauschenberger and Enrico Glaab (2019). Armin Rauschenberger and Enrico Glaab (2019). "joinet: predicting correlated outcomes jointly to improve clinical prognosis". *Manuscript in preparation.*
"Multivariate regression through stacked generalisation".
*Manuscript in preparation.*
--- ---
title: Multivariate Elastic Net title: Multivariate Elastic Net Regression
output: rmarkdown::html_vignette output: rmarkdown::html_vignette
vignette: > vignette: >
%\VignetteIndexEntry{vignette} %\VignetteIndexEntry{vignette}
...@@ -123,26 +123,21 @@ cv.joinet(Y=Y,X=X,family=family) ...@@ -123,26 +123,21 @@ cv.joinet(Y=Y,X=X,family=family)
## Reference ## Reference
Armin Rauschenberger and Enrico Glaab (2019). Armin Rauschenberger and Enrico Glaab (2019). "joinet: predicting correlated outcomes jointly to improve clinical prognosis". *Manuscript in preparation.*
"Multivariate regression through stacked generalisation".
*Manuscript in preparation.*
<!-- <!--
```{r,eval=FALSE} ```{r,eval=FALSE}
#install.packages("plsgenomics") #install.packages("plsgenomics")
data(Ecoli,package="plsgenomics") data(Ecoli,package="plsgenomics")
X <- Ecoli$CONNECdata X <- Ecoli$CONNECdata
Y <- Ecoli$GEdata Y <- Ecoli$GEdata
loss <- joinet:::cv.joinet(Y=Y,X=X) loss <- cv.joinet(Y=Y,X=X)
```
```{r,eval=FALSE}
#install.packages("BiocManager") #install.packages("BiocManager")
#BiocManager::install("mixOmics") #BiocManager::install("mixOmics")
data(liver.toxicity,package="mixOmics") data(liver.toxicity,package="mixOmics")
X <- liver.toxicity$gene X <- liver.toxicity$gene
Y <- liver.toxicity$clinic Y <- liver.toxicity$clinic
Y$Cholesterol.mg.dL. <- -Y$Cholesterol.mg.dL. Y$Cholesterol.mg.dL. <- -Y$Cholesterol.mg.dL.
loss <- joinet:::cv.joinet(Y=Y,X=X) loss <- cv.joinet(Y=Y,X=X)
``` ```
--> -->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>