Skip to content
A collection of Poisson lognormal models for multivariate count data analysis
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R related to #44 - more tests for matrix of penalty weights Jun 20, 2019
data updating data sets to comply with prepare_data function Jan 8, 2019
inst updated citation info for PLNnetwork at various places Jun 20, 2019
man added the possibility for matrix of weights for the penalty in PLNnet… Jun 20, 2019
src removing dependencies to system version of nlopt, relyinh on nloptr. … Mar 16, 2019
tests related to #44 - more tests for matrix of penalty weights Jun 20, 2019
vignettes updated citation info for PLNnetwork at various places Jun 20, 2019
.Rbuildignore trying to use nloptrAPI [ci skip] Mar 15, 2019
.gitignore cleanup in .travis, .gitignore, .Rbuildignore Mar 4, 2019
.travis.yml removing libnlopt from system requirement on travis CI Mar 16, 2019
DESCRIPTION added the possibility for matrix of weights for the penalty in PLNnet… Jun 20, 2019
LICENSE Initial commit Mar 17, 2017
NAMESPACE properly importing the pipe operator and magrittr Mar 26, 2019
NEWS.md added the possibility for matrix of weights for the penalty in PLNnet… Jun 20, 2019
PLNmodels.Rproj preparing CRAN submission May 9, 2019
README.Rmd updated citation info for PLNnetwork at various places Jun 20, 2019
README.md updated citation info for PLNnetwork at various places Jun 20, 2019
_pkgdown.yml rebuilding site with news + fig in vignette Jan 10, 2019
appveyor.yml deployment in travis and appveyor Feb 5, 2019
codecov.yml code testing and codecov support Dec 8, 2018
cran-comments.md cran comment update May 16, 2019

README.md

PLNmodels: Poisson lognormal models

Travis-CI build status AppVeyor Build Status Codacy Badge Coverage status CRAN_Status_Badge

The Poisson lognormal model and variants can be used for a variety of multivariate problems when count data are at play (including PCA, LDA and network inference for count data). This package implements efficient algorithms to fit such models accompanied with a set of functions for vizualisation and diagnostic.

Installation

PLNmodels is available on CRAN. The development version is available on Github.

R Package installation

CRAN dependencies

PLNmodels needs the following CRAN R packages, so check that they are are installed on your computer.

required_CRAN <- c("R6", "glassoFast", "Matrix", "Rcpp", "RcppArmadillo",
                   "nloptr", "igraph", "grid", "gridExtra", "dplyr",
                   "tidyr", "ggplot2", "corrplot", "magrittr", "devtools")
not_installed_CRAN <- setdiff(required_CRAN, rownames(installed.packages()))
if (length(not_installed_CRAN) > 0) install.packages(not_installed_CRAN)

Bioconductor dependencies

PLNmodels also needs two BioConductor packages

required_BioC <- c("phyloseq", "biomformat")
not_installed_BioC <- setdiff(required_BioC, rownames(installed.packages()))
if (length(not_installed_BioC) > 0) BiocManager::install(not_installed_BioC)

Installing PLNmodels

  • For the last stable version, use
install.packages("PLNmodels")
  • For the development version, use
devtools::install_github("jchiquet/PLNmodels")
  • For a specific tagged release, use
devtools::install_github("jchiquet/PLNmodels@tag_number")

Usage and main fitting functions

The package comes with a ecological data to present the functionality

library(PLNmodels)
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)

The main fitting functions work with the usual R formula notations, with mutivariate responses on the left hand side. You probably want to start by one of them. Check the corresponding vignette and documentation page. There is a dedicated vignettes for each model in the package (See http://jchiquet.github.io/PLNmodels/articles/).

Unpenalized Poisson lognormal model (aka PLN)

myPLN <- PLN(Abundance ~ 1, data = trichoptera)

Rank Contraint Poisson lognormal for Poisson Principal Component Analysis (aka PLNPCA)

myPCA <- PLNPCA(Abundance ~ 1, data = trichoptera, ranks = 1:8)

Poisson lognormal discriminant analysis (aka PLNLDA)

myLDA <- PLNLDA(Abundance ~ 1, grouping = Group, data = trichoptera)

Sparse Poisson lognormal model for sparse covariance inference for counts (aka PLNnetwork)

myPLNnetwork <- PLNnetwork(Abundance ~ 1, data = trichoptera)

References

Please cite our work using the following references:

  • J. Chiquet, M. Mariadassou and S. Robin: Variational inference for probabilistic Poisson PCA, the Annals of Applied Statistics, 12: 2674–2698, 2018. link

  • J. Chiquet, M. Mariadassou and S. Robin: Variational inference for sparse network reconstruction from count data, Proceedings of the 36th International Conference on Machine Learning (ICML), 2019. link

You can’t perform that action at this time.