Difference between revisions of "R"

From UFRC
Jump to navigation Jump to search
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
__NOEDITSECTION__
 
__NOEDITSECTION__
[[Category:Software]][[Category:Statistics]]
+
[[Category:Software]][[Category:Statistics]][[Category:Programming]]
 
{|<!--Main settings - REQUIRED-->
 
{|<!--Main settings - REQUIRED-->
 
|{{#vardefine:app|R}}
 
|{{#vardefine:app|R}}
 
|{{#vardefine:url|http://www.r-project.org/}}
 
|{{#vardefine:url|http://www.r-project.org/}}
|{{#vardefine:exe|}} <!--Present manual instructions for running the software -->
+
|{{#vardefine:exe|1}} <!--Present manual instructions for running the software -->
 
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF-->
 
|{{#vardefine:conf|}} <!--Enable config wiki page link - {{#vardefine:conf|1}} = ON/conf|}} = OFF-->
|{{#vardefine:pbs|}} <!--Enable PBS script wiki page link-->
+
|{{#vardefine:job|1}} <!--Enable job script wiki page link-->
 
|{{#vardefine:policy|}} <!--Enable policy section -->
 
|{{#vardefine:policy|}} <!--Enable policy section -->
|{{#vardefine:testing|}} <!--Enable performance testing/profiling section -->
+
|{{#vardefine:testing|1}} <!--Enable performance testing/profiling section -->
 
|{{#vardefine:faq|1}} <!--Enable FAQ section -->
 
|{{#vardefine:faq|1}} <!--Enable FAQ section -->
 
|{{#vardefine:citation|}} <!--Enable Reference/Citation section -->
 
|{{#vardefine:citation|}} <!--Enable Reference/Citation section -->
Line 19: Line 19:
 
R is a free software environment for statistical computing and graphics.
 
R is a free software environment for statistical computing and graphics.
  
'''Note: File a [http://support.hpc.ufl.edu support ticket] to request installation of additional libraries.'''
+
'''Note: File a [http://support.rc.ufl.edu support ticket] to request installation of additional libraries.'''
 
<!--Modules-->
 
<!--Modules-->
==Required Modules==
+
==Environment Modules==
[[Modules|modules documentation]]
+
Run <code>module spider {{#var:app}}</code> to find out what environment modules are available for this application.
===Serial===
 
*{{#var:app}}
 
===Parallel (MPI)===
 
*R-mpi
 
To use the Rmpi library load the appropriate "-mpi" module, for instance R/2.15.0-mpi.
 
 
==System Variables==
 
==System Variables==
* HPC_{{#uppercase:{{#var:app}}}}_DIR - installation directory
+
* HPC_{{uc:{{#var:app}}}}_DIR - installation directory
 
* HPC_R_BIN - executable directory
 
* HPC_R_BIN - executable directory
 
* HPC_R_LIB - library directory
 
* HPC_R_LIB - library directory
 
* HPC_R_INCLUDE - includes directory
 
* HPC_R_INCLUDE - includes directory
==Installed Libraries==
 
'''Note: ''' Many of the packages in the R library shown below are installed as a part of Bioconductor meta-library. The list is generated from the default R version.
 
<!-- Note to HPC Staff: paste the list generated by the "library()" command between the <pre> </pre> tags in the http://wiki.hpc.ufl.edu/index.php/R_libraries wiki page for the inclusion below to work. -->
 
{{:R_libraries}}
 
 
{{#if: {{#var: exe}}|==How To Run==
 
{{#if: {{#var: exe}}|==How To Run==
WRITE INSTRUCTIONS ON RUNNING THE ACTUAL BINARY|}}
+
R can be run on the command-line (or the batch system) using the '<code>Rscript myscript.R</code>' or '<code>R CMD BATCH myscript.R</code>' command. For script development or visualization RStudio GUI application can be used. See the [[GUI_Programs|respective documentation]] for details. Alternatively an instance of [[RStudio_Server|RStudio Server]] can be started in a job. Then you can connect to it through an SSH tunnel from a web browser on your local computer.
 +
;Notes and Warnings:
 +
 
 +
* The parallel::detectCores() function will return the total number of cores on a compute node and not the number of cores assigned to your job by the scheduler. Instead, use something like
 +
numCores = as.integer(Sys.getenv("SLURM_CPUS_ON_NODE"))
 +
to find out the number of CPU cores 'X' requested by
 +
#SBATCH --cpus-per-task=X
 +
in your job script.
 +
 
 +
* Default RData format
 +
In R-3.6.0 the default serialization format used to save RData files has been changed to version 3 (RDX3), so R versions prior to 3.5.0 will not be able to open it. Keep this in mind if you copy RData files from HiPerGator to an external system with old R installed.
 +
 
 +
* Java
 +
rJava users need to load the java module manually with '<code>module load java/1.7.0_79</code>'
 +
 
 +
* TMPDIR
 +
If temporary files are produced the may fill up memory disks on HPG2 nodes and cause node and job failures. Use something like
 +
mkdir -p tmp
 +
export TMPDIR=$(pwd)/tmp
 +
in your job script to prevent this and launch your job from the respective directory and not from your home directory.
 +
* Tasks vs Cores for parallel runs
 +
Parallel threads in an R job will be bound to the same CPU core even if multiple ntasks are specified in the job script. Use cpus-per-task to use R 'parallel' module correctly. For example, for an 8-thread parallel job use the following resource request in your job script:
 +
#SBATCH --nodes=1
 +
#SBATCH --ntasks=1
 +
#SBATCH --cpus-per-task=8
 +
 
 +
See the single-threaded and multi-threaded examples on the [[Sample SLURM Scripts]] page for more details.
 +
|}}
 
{{#if: {{#var: conf}}|==Configuration==
 
{{#if: {{#var: conf}}|==Configuration==
 
See the [[{{PAGENAME}}_Configuration]] page for {{#var: app}} configuration details.|}}
 
See the [[{{PAGENAME}}_Configuration]] page for {{#var: app}} configuration details.|}}
{{#if: {{#var: pbs}}|==PBS Script Examples==
+
{{#if: {{#var: job}}|==Job Script Examples==
See the [[{{PAGENAME}}_PBS]] page for {{#var: app}} PBS script examples.|}}
+
See the [[{{PAGENAME}}_Job_Script]] page for {{#var: app}} job script examples.|}}
 
{{#if: {{#var: policy}}|==Usage Policy==
 
{{#if: {{#var: policy}}|==Usage Policy==
 
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}}
 
WRITE USAGE POLICY HERE (perhaps templates for a couple of main licensing schemes can be used)|}}
 
{{#if: {{#var: testing}}|==Performance==
 
{{#if: {{#var: testing}}|==Performance==
WRITE PERFORMANCE TESTING RESULTS HERE|}}
+
We have benchmarked our most recent installed R version (3.0.2) built with the included blas/lapack libraries versus the newest (as of April 2015) release 3.2.0 built with Intel MKL libraries on the HiPerGator1 hardware (AMD Abu Dhabi 2.4GHz CPUs) and the Intel Haswell 2.3GHz CPUs we're testing for possible usage in HiPerGator2. The results are presented in the [[R Benchmark 2.5]] table
 +
 
 +
|}}
 
<!--Faq-->
 
<!--Faq-->
 
{{#if: {{#var: faq}}|==FAQ==
 
{{#if: {{#var: faq}}|==FAQ==
*'''Q:''' When I submit the job with N=1 and M=1 it runs and R allocates the 10 slaves that I want.  Is this the OK?
+
*'''Q:''' When I submit a job using 'parallel' package all threads seem to share a single CPU core instead of running on the separate cores I requested.
**'''A:''' In short, no. This is bad since you are lying to the scheduler about the resources you intend to run.  We have scripts that will kill your job if they catch it and we tend to suspend accounts of users who make a practice of it. :)
+
**'''A:''' On SLURM you need to use --cpus-per-task to specify the number of available cores. E.g.
*'''Q:''' The actual job I want to run is much larger.  Anywhere from 31 to 93 processors are desired.  Is it ok to request this many processors.
+
  #SBATCH --nodes=1
**'''A:''' That depends on the level of investment from your PI.  If you ask for processors than your groups core allocation, which depends on the investment level, you will be essentially borrowing cores from other groups and may wait an extended period of time in the queue before your job runs.  Groups are allowed to run on up to 10x their core allocation provided the resources are available.   If you ask for more than 10x your groups core allocation, the job will be blocked indefinitely.  
+
#SBATCH --ntasks=1
*'''Q:''' Do I need the number of nodes requested to be correct or can I just have R go grab slaves after the job is submitted with N=1 and M=1?
+
#SBATCH --cpus-per-task=12
**'''A:''' Your resource request must be consistent with what you actually intend to use as noted above.
+
 
<ul>
+
will allow mcapply or other function from the 'parallel' package to run on all requested cores
<li>'''Q:''' Is it better to request a large number of nodes for a shorter period of time or less nodes for longer period of time (concretely, say 8 nodes for 40 hours versus 16 nodes for 20 hours) in terms of getting through the queue?
+
 
<ul><li>'''A:''' Do not confuse "nodes" with "cores/processors".   Each "node" is a physical machine with between 4 and 48 cores.   Your MPI threads will run on "cores" which may all be in the same "node" or spread among multiple nodes. You should ask for the number of cores you need and spread them among as few nodes as possible unless you have a good reason to do otherwise.   Thus you should generally ask for things like<pre>
+
*'''Q:''' How do I install R packages?
#PBS -l nodes=1:ppn=8    (we have lots of 8p nodes)
+
**'''A:''' Users can install R packages in their local directory. The default directory is /home/my.username/R/x86_64-pc-linux-gnu-library/X.X/ (X.X = version number)
#PBS -l nodes=1:ppn=12  (we have a number of 12p also)</pre>
+
From a tarball:
Multiples of the above work as well so you might ask for nodes=3:ppn=8 if you want to run 24 threads on 24 different cores.  
+
<pre># from a standard repository
It looks like in the R model there is a master/slave paradigm so you really need one master thread to manage the "slave" threads.  It is likely that the master thread accumulates little CPU time so you ''could'' neglect it.  In other words tell the scheduler that you want nodes=3:ppn=8 and tell R to spawn 24 children.
+
$ module load R/X.X
This is a white lie which will do little harm.  However, if it turns out that the master accumulates significant CPU time and your job gets killed by our rogue process killer, you can ask for the resources as follows
+
$ R
#PBS -l nodes=1:ppn=1infiniband+3:ppn=8:infiniband
+
> install.packages("PACKAGE")
This will allocate 1 thread on a separate node (the master thread) and then the slave threads will be allocated on 3 additional nodes with at least 8 cores each.</li>
+
if coming from github
</ul>
+
> devtools::install_github("author/software")
</ul>
+
 
|}}
+
# from a non-standard repository (tarball available)
 +
$ module load R/X.X
 +
 
 +
$ R CMD INSTALL /path/to/package_version.tar.gz</pre>
 +
 
 +
|}}
 
{{#if: {{#var: citation}}|==Citation==
 
{{#if: {{#var: citation}}|==Citation==
 
If you publish research that uses {{{app}}} you have to cite it as follows:
 
If you publish research that uses {{{app}}} you have to cite it as follows:
Line 73: Line 98:
 
|}}
 
|}}
 
==Rmpi Example==
 
==Rmpi Example==
Example of using the parallel module to run MPI jobs under R 2.14.1+
+
See [[R MPI Example]] page for an example of using Rmpi code.
  
{{#fileAnchor: rmpi_test.R}}
+
==Installed Libraries==
Download raw source of the [{{#fileLink: rmpi_test.R}} rmpi_test.R] file.
+
'''Note: ''' Many of the packages in the R library shown below are installed as a part of Bioconductor meta-library. The list is generated from the default R version.
<source lang=bash>
+
<!-- Note to HPC Staff: paste the list generated by the "library()" command between the <pre> </pre> tags in the http://wiki.rc.ufl.edu/index.php/R_libraries wiki page for the inclusion below to work. -->
# Load the R MPI package if it is not already loaded.
+
{{:R_libraries}}
if (!is.loaded("mpi_initialize")) {
 
    library("Rmpi")
 
    }
 
                                                                               
 
# Spawn as many slaves as possible
 
mpi.spawn.Rslaves()
 
                                                                               
 
# In case R exits unexpectedly, have it automatically clean up
 
# resources taken up by Rmpi (slaves, memory, etc...)
 
.Last <- function(){
 
    if (is.loaded("mpi_initialize")){
 
        if (mpi.comm.size(1) > 0){
 
            print("Please use mpi.close.Rslaves() to close slaves.")
 
            mpi.close.Rslaves()
 
        }
 
        print("Please use mpi.quit() to quit R")
 
        .Call("mpi_finalize")
 
    }
 
}
 
 
 
# Tell all slaves to return a message identifying themselves
 
mpi.remote.exec(paste("I am",mpi.comm.rank(),"of",mpi.comm.size()))
 
 
 
# Tell all slaves to close down, and exit the program
 
mpi.close.Rslaves()
 
mpi.quit()
 
</source>
 

Revision as of 21:59, 6 October 2022

Description

R website  

R is a free software environment for statistical computing and graphics.

Note: File a support ticket to request installation of additional libraries.

Environment Modules

Run module spider R to find out what environment modules are available for this application.

System Variables

  • HPC_R_DIR - installation directory
  • HPC_R_BIN - executable directory
  • HPC_R_LIB - library directory
  • HPC_R_INCLUDE - includes directory

How To Run

R can be run on the command-line (or the batch system) using the 'Rscript myscript.R' or 'R CMD BATCH myscript.R' command. For script development or visualization RStudio GUI application can be used. See the respective documentation for details. Alternatively an instance of RStudio Server can be started in a job. Then you can connect to it through an SSH tunnel from a web browser on your local computer.

Notes and Warnings
  • The parallel::detectCores() function will return the total number of cores on a compute node and not the number of cores assigned to your job by the scheduler. Instead, use something like
numCores = as.integer(Sys.getenv("SLURM_CPUS_ON_NODE"))

to find out the number of CPU cores 'X' requested by

#SBATCH --cpus-per-task=X

in your job script.

  • Default RData format

In R-3.6.0 the default serialization format used to save RData files has been changed to version 3 (RDX3), so R versions prior to 3.5.0 will not be able to open it. Keep this in mind if you copy RData files from HiPerGator to an external system with old R installed.

  • Java

rJava users need to load the java module manually with 'module load java/1.7.0_79'

  • TMPDIR

If temporary files are produced the may fill up memory disks on HPG2 nodes and cause node and job failures. Use something like

mkdir -p tmp
export TMPDIR=$(pwd)/tmp

in your job script to prevent this and launch your job from the respective directory and not from your home directory.

  • Tasks vs Cores for parallel runs

Parallel threads in an R job will be bound to the same CPU core even if multiple ntasks are specified in the job script. Use cpus-per-task to use R 'parallel' module correctly. For example, for an 8-thread parallel job use the following resource request in your job script:

#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8

See the single-threaded and multi-threaded examples on the Sample SLURM Scripts page for more details.

Job Script Examples

See the R_Job_Script page for R job script examples.

Performance

We have benchmarked our most recent installed R version (3.0.2) built with the included blas/lapack libraries versus the newest (as of April 2015) release 3.2.0 built with Intel MKL libraries on the HiPerGator1 hardware (AMD Abu Dhabi 2.4GHz CPUs) and the Intel Haswell 2.3GHz CPUs we're testing for possible usage in HiPerGator2. The results are presented in the R Benchmark 2.5 table

FAQ

  • Q: When I submit a job using 'parallel' package all threads seem to share a single CPU core instead of running on the separate cores I requested.
    • A: On SLURM you need to use --cpus-per-task to specify the number of available cores. E.g.
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=12

will allow mcapply or other function from the 'parallel' package to run on all requested cores

  • Q: How do I install R packages?
    • A: Users can install R packages in their local directory. The default directory is /home/my.username/R/x86_64-pc-linux-gnu-library/X.X/ (X.X = version number)

From a tarball:

# from a standard repository
$ module load R/X.X
$ R
> install.packages("PACKAGE")
if coming from github
> devtools::install_github("author/software")

# from a non-standard repository (tarball available)
$ module load R/X.X

$ R CMD INSTALL /path/to/package_version.tar.gz

Rmpi Example

See R MPI Example page for an example of using Rmpi code.

Installed Libraries

Note: Many of the packages in the R library shown below are installed as a part of Bioconductor meta-library. The list is generated from the default R version.

Name Description
a4Core Automated Affymetrix Array Analysis Core Package
a4Preproc Automated Affymetrix Array Analysis Preprocessing Package
abind Combine Multidimensional Arrays
acepack ACE and AVAS for Selecting Multiple Regression Transformations
adabag Applies Multiclass AdaBoost.M1
adagio Discrete and Global Optimization Routines
ade4 Analysis of Ecological Data: Exploratory and Euclidean Methods in Environmental Sciences
adegenet Exploratory Analysis of Genetic and Genomic Data
AdhereR Adherence to Medications
adnuts No-U-Turn MCMC Sampling for 'ADMB' and 'TMB' Models
affxparser Affymetrix File Parsing SDK
affy Methods for Affymetrix Oligonucleotide Arrays
affyio Tools for parsing Affymetrix data files
affyPLM Methods for fitting probe-level models
AGHmatrix Relationship matrices for diploid and autopolyploid species
agricolae Statistical Procedures for Agricultural Research
akima Interpolation of Irregularly and Regularly Spaced Data
ALDEx2 Analysis Of Differential Abundance Taking Sample Variation Into Account
AlgDesign Algorithmic Experimental Design
amap Another Multidimensional Analysis Package
Amelia A Program for Missing Data
animation A Gallery of Animations in Statistics and Utilities to Create Animations
annaffy Annotation tools for Affymetrix biological metadata
annotate Annotation for microarrays
AnnotationDbi Annotation Database Interface
AnnotationFilter Facilities for Filtering Bioconductor Annotation Resources
AnnotationHub Client to access AnnotationHub resources
annotSnpStats Annotated SnpMatrix objects
apcluster Affinity Propagation Clustering
ape Analyses of Phylogenetics and Evolution
arm Data Analysis Using Regression and Multilevel/Hierarchical Models
aroma.light Light-Weight Methods for Normalization and Visualization of Microarray Data using Only Basic R Data Types
arrayQualityMetrics Quality metrics report for microarray data sets
assertive Readable Check Functions to Ensure Code Integrity
assertive.base A Lightweight Core of the 'assertive' Package
assertive.code Assertions to Check Properties of Code
assertive.data Assertions to Check Properties of Data
assertive.data.uk Assertions to Check Properties of Strings
assertive.data.us Assertions to Check Properties of Strings
assertive.datetimes Assertions to Check Properties of Dates and Times
assertive.files Assertions to Check Properties of Files
assertive.matrices Assertions to Check Properties of Matrices
assertive.models Assertions to Check Properties of Models
assertive.numbers Assertions to Check Properties of Numbers
assertive.properties Assertions to Check Properties of Variables
assertive.reflection Assertions for Checking the State of R
assertive.sets Assertions to Check Properties of Sets
assertive.strings Assertions to Check Properties of Strings
assertive.types Assertions to Check Types of Variables
assertthat Easy Pre and Post Assertions
automap Automatic interpolation package
backports Reimplementations of Functions Introduced Since R-3.0.0
ballgown Flexible
BAMMtools Analysis and Visualization of Macroevolutionary Dynamics on Phylogenetic Trees
base64 Base64 Encoder and Decoder
base64enc Tools for base64 encoding
baseline Baseline Correction of Spectra
bayesm Bayesian Inference for Marketing/Micro-Econometrics
bayesplot Plotting for Bayesian Models
bazar Miscellaneous Basic Functions
BB Solving and Optimizing Large-Scale Nonlinear Systems
bbmle Tools for General Maximum Likelihood Estimation
bdsmatrix Routines for Block Diagonal Symmetric Matrices
beadarray Quality assessment and low-level analysis for Illumina BeadArray data
BeadDataPackR Compression of Illumina BeadArray data
beanplot Visualization via Beanplots (like Boxplot/Stripchart/Violin Plot)
BEDMatrix Extract Genotypes from a PLINK .bed File
bestglm Best Subset GLM and Regression Utilities
BGData A Suite of Packages for Analysis of Big Genomic Data
BGLR Bayesian Generalized Linear Regression
BH Boost C++ Header Files
BiasedUrn Biased Urn Model Distributions
bibtex Bibtex Parser
biganalytics Utilities for 'big.matrix' Objects from Package 'bigmemory'
big.char Provides Very Large Vectors of Character Strings
big.data.frame Extend big.char and bigmemory's big.matrix to support larger-than-RAM data.frame-like objects in R.
biglm bounded memory linear and generalized linear models
bigmemory Manage Massive Matrices with Shared Memory and Memory-Mapped Files
bigmemory.sri A shared resource interface for Bigmemory Project packages
BigVAR Dimension Reduction Methods for Multivariate Time Series
bindr Parametrized Active Bindings
bindrcpp An 'Rcpp' Interface to Active Bindings
Biobase Biobase: Base functions for Bioconductor
BiocGenerics S4 generic functions for Bioconductor
BiocInstaller Install/Update Bioconductor
BiocParallel Bioconductor facilities for parallel evaluation
BioGeoBEARS BioGeography with Bayesian (and Likelihood) Evolutionary Analysis in R Scripts
biomaRt Interface to BioMart databases (e.g. Ensembl
biomformat An interface package for the BIOM file format
Biostrings Efficient manipulation of biological strings
biovizBase Basic graphic utilities for visualization of genomic data.
bipartite Visualising Bipartite Networks and Calculating Some (Ecological) Indices
bit A Class for Vectors of 1-Bit Booleans
bit64 A S3 Class for Vectors of 64bit Integers
bitops Bitwise Operations
blob A Simple S3 Class for Representing Vectors of Binary Data ('BLOBS')
blockmodeling Generalized and Classical Blockmodeling of Valued Networks
bold Interface to Bold Systems API
Boom Bayesian Object Oriented Modeling
BoomSpikeSlab MCMC for Spike and Slab Regression
boot Bootstrap Functions (Originally by Angelo Canty for S)
brew Templating Framework for Report Generation
broom Convert Statistical Analysis Objects into Tidy Data Frames
BSgenome Software infrastructure for efficient representation of full genomes and their SNPs
BSgenome.Hsapiens.UCSC.hg19 Full genome sequences for Homo sapiens (UCSC version hg19)
bsts Bayesian Structural Time Series
bumphunter Bump Hunter
BurStFin Burns Statistics Financial
Cairo R graphics device using cairo graphics library for creating high-quality bitmap (PNG
calibrate Calibration of Scatterplot and Biplot Axes
callr Call R from R
CAMERA Collection of annotation related methods for mass spectrometry data
car Companion to Applied Regression
carData Companion to Applied Regression Data Sets
caret Classification and Regression Training
caTools Tools: moving window statistics
CCA Canonical correlation analysis
cccrm Concordance Correlation Coefficient for Repeated (and Non-Repeated) Measures
ccdrAlgorithm CCDr Algorithm for Learning Sparse Gaussian Bayesian Networks
cellranger Translate Spreadsheet Cell Ranges to Rows and Columns
checkmate Fast and Versatile Argument Checks
ChemoSpec Exploratory Chemometrics for Spectroscopy
chopsticks The snp.matrix and X.snp.matrix classes
chron Chronological Objects which can Handle Dates and Times
circlize Circular Visualization
cladoRcpp C++ implementations of phylogenetic cladogenesis calculations
class Functions for Classification
classInt Choose Univariate Class Intervals
cleangeo Cleaning Geometries from Spatial Objects
cli Helpers for Developing Command Line Interfaces
clipr Read and Write from the System Clipboard
clue Cluster Ensembles
cluster Finding Groups in Data: Cluster Analysis Extended Rousseeuw et al.
clusterGeneration Random Cluster Generation (with Specified Degree of Separation)
clusterProfiler statistical analysis and visualization of functional profiles for genes and gene clusters
cnv Detection of Copy Number Variation by Sequencing
coda Output Analysis and Diagnostics for MCMC
codetools Code Analysis Tools for R
coin Conditional Inference Procedures in a Permutation Test Framework
colorspace Color Space Manipulation
colourpicker A Colour Picker Tool for Shiny and for Selecting Colours in Plots
combinat combinatorics utilities
commonmark High Performance CommonMark and Github Markdown Rendering in R
compare Comparing Objects for Differences
ComplexHeatmap Making Complex Heatmaps
compositions Compositional Data Analysis
CompRandFld Composite-Likelihood Based Analysis of Random Fields
concaveman A Very Fast 2D Concave Hull Algorithm
CondReg Condition Number Regularized Covariance Estimation
config Manage Environment Specific Configuration Values
corpcor Efficient Estimation of Covariance and (Partial) Correlation
covr Test Coverage for Packages
cowplot Streamlined Plot Theme and Plot Annotations for 'ggplot2'
CpGassoc Association Between Methylation and a Phenotype of Interest
crayon Colored Terminal Output
crch Censored Regression with Conditional Heteroscedasticity
crmn CCMN and other noRMalizatioN methods for metabolomics data
crochet Implementation Helper for [ and [<- Of Custom Matrix-Like Types
crosstalk Inter-Widget Interactivity for HTML Widgets
crul HTTP Client
cubature Adaptive Multivariate Integration over Hypercubes
curl A Modern and Flexible Web Client for R
CVST Fast Cross-Validation via Sequential Testing
cvTools Cross-validation tools for regression models
dagitty Graphical Analysis of Structural Causal Models
DASTool DAS Tool - Dereplication Aggregation and Scoring Tool for genome-resolved metagenomics
DatABEL File-Based Access to Large Matrices Stored on HDD in Binary Format
data.table Extension of `data.frame`
date Functions for Handling Dates
DBI R Database Interface
dbplyr A 'dplyr' Back End for Databases
dcurver Utility Functions for Davidian Curves
ddalpha Depth-Based Classification and Calculation of Data Depth
debugme Debug R Packages
DelayedArray Delayed operations on array-like objects
deldir Delaunay Triangulation and Dirichlet (Voronoi) Tessellation
denstrip Density Strips and Other Methods for Compactly Illustrating Distributions
DEoptimR Differential Evolution Optimization in Pure R
depmixS4 Dependent Mixture Models - Hidden Markov Models of GLMs and Other Distributions in S4
Deriv Symbolic Differentiation
desc Manipulate DESCRIPTION Files
DESeq Differential gene expression analysis based on the negative binomial distribution
DESeq2 Differential gene expression analysis based on the negative binomial distribution
deSolve Solvers for Initial Value Problems of Differential Equations ('ODE'
devtools Tools to Make Developing R Packages Easier
dfoptim Derivative-Free Optimization
dichromat Color Schemes for Dichromats
diffusionMap Diffusion map
digest Create Compact Hash Digests of R Objects
dimRed A Framework for Dimensionality Reduction
diptest Hartigan's Dip Test Statistic for Unimodality - Corrected
discretecdAlgorithm Coordinate-Descent Algorithm for Learning Sparse Discrete Bayesian Networks
dismo Species Distribution Modeling
diversitree Comparative 'Phylogenetic' Analyses of Diversification
dlm Bayesian and Likelihood Analysis of Dynamic Linear Models
doBy Groupwise Statistics
DO.db A set of annotation maps describing the entire Disease Ontology
doMC Foreach Parallel Adaptor for 'parallel'
doParallel Foreach Parallel Adaptor for the 'parallel' Package
doRNG Generic Reproducible Parallel Backend for 'foreach' Loops
DOSE Disease Ontology Semantic and Enrichment analysis
doSNOW Foreach Parallel Adaptor for the 'snow' Package
dotCall64 Enhanced Foreign Function Interface Supporting Long Vectors
dplyr A Grammar of Data Manipulation
DRR Dimensionality Reduction via Regression
DT A Wrapper of the JavaScript Library 'DataTables'
dtw Dynamic Time Warping Algorithms
dupRadar Assessment of duplication rates in RNA-Seq datasets
dygraphs Interface to 'Dygraphs' Interactive Time Series Charting Library
dynamicTreeCut Methods for Detection of Clusters in Hierarchical Clustering Dendrograms
e1071 Misc Functions of the Department of Statistics
earth Multivariate Adaptive Regression Splines
EbayesThresh Empirical Bayes Thresholding and Related Methods
EBImage Image processing and analysis toolbox for R
EBSeq An R package for gene and isoform differential expression analysis of RNA-seq data
edgeR Empirical Analysis of Digital Gene Expression Data in R
eDNAoccupancy Multi-scale Occupancy Modeling of Environmental DNA Data
egg Extensions for 'ggplot2': Custom Geom
ellipse Functions for Drawing Ellipses and Ellipse-Like Confidence Regions
emdbook Support Functions and Data for "Ecological Models and Data"
emulator Bayesian Emulation of Computer Programs
energy E-Statistics: Multivariate Inference via the Energy of Data
EnsDb.Hsapiens.v75 Ensembl based annotation package
ensembldb Utilities to create and use Ensembl-based annotation databases
equateIRT IRT Equating Methods
estimability Tools for Assessing Estimability of Linear Predictions
EthSEQ Ethnicity Annotation from Whole Exome Sequencing Data
evaluate Parsing and Evaluation Tools that Provide More Details than the Default
evd Functions for Extreme Value Distributions
expm Matrix Exponential
fastAdaboost a Fast Implementation of Adaboost
fastcluster Fast Hierarchical Clustering Routines for R and 'Python'
fastICA FastICA Algorithms to Perform ICA and Projection Pursuit
fastmatch Fast match() function
fastseg fastseg - a fast segmentation algorithm
fBasics Rmetrics - Markets and Basic Statistics
FD Measuring functional diversity (FD) from multiple traits
fda Functional Data Analysis
FDb.InfiniumMethylation.hg19 Annotation package for Illumina Infinium DNA methylation probes
fdth Frequency Distribution Tables
ff Memory-Efficient Storage of Large Data on Disk and Fast Access Functions
fftwtools Wrapper for 'FFTW3' Includes: One-Dimensional Univariate
fGarch Rmetrics - Autoregressive Conditional Heteroskedastic Modelling
FGN Fractional Gaussian Noise and power law decay time series model fitting
fgsea Fast Gene Set Enrichment Analysis
fields Tools for Spatial Data
FinTS Companion to Tsay (2005) Analysis of Financial Time Series
fitdistrplus Help to Fit of a Parametric Distribution to Non-Censored or Censored Data
fit.models Compare Fitted Models
flare Family of Lasso Regression
flexmix Flexible Mixture Modeling
FNN Fast Nearest Neighbor Search Algorithms and Applications
forcats Tools for Working with Categorical Variables (Factors)
foreach Provides Foreach Looping Construct for R
forecast Forecasting Functions for Time Series and Linear Models
foreign Read Data Stored by 'Minitab'
formatR Format R Code Automatically
Formula Extended Model Formulas
fpc Flexible Procedures for Clustering
fracdiff Fractionally differenced ARIMA aka ARFIMA(p
fst Lightning Fast Serialization of Data Frames for R
futile.logger A Logging Utility for R
futile.matrix Random Matrix Generation and Manipulation
futile.options Futile Options Management
future Unified Parallel and Distributed Processing in R for Everyone
future.apply Apply Function to Elements in Parallel using Futures
GA Genetic Algorithms
GAabbreviate Abbreviating Items Measures using Genetic Algorithms
gap Genetic Analysis Package
gapminder Data from Gapminder
gbm Generalized Boosted Regression Models
gcrma Background Adjustment Using Sequence Information
gdalUtils Wrappers for the Geospatial Data Abstraction Library (GDAL) Utilities
gdata Various R Programming Tools for Data Manipulation
gdmp Genomic Data Management
gdsfmt R Interface to CoreArray Genomic Data Structure (GDS) Files
gdtools Utilities for Graphical Rendering
geeM Solve Generalized Estimating Equations
geepack Generalized Estimating Equation Package
geigen Calculate Generalized Eigenvalues
geiger Analysis of Evolutionary Diversification
GenABEL genome-wide SNP association analysis
GenABEL.data Package contains data which is used by GenABEL example and test functions
gender Predict Gender from Names Using Historical Data
genefilter genefilter: methods for filtering genes from high-throughput experiments
geneplotter Graphics related functions for Bioconductor
GeneSelector Stability and Aggregation of ranked gene lists
genetics Population Genetics
genlasso Path algorithm for generalized lasso problems
GenomeInfoDb Utilities for manipulating chromosome and other 'seqname' identifiers
GenomeInfoDbData Species and taxonomy ID look up tables used by GenomeInfoDb
GenomicAlignments Representation and manipulation of short genomic alignments
GenomicFeatures Tools for making and manipulating transcript centric annotations
GenomicRanges Representation and manipulation of genomic intervals and variables defined along a genome
geometry Mesh Generation and Surface Tesselation
GEOquery Get data from NCBI Gene Expression Omnibus (GEO)
geosphere Spherical Trigonometry
getopt C-Like 'getopt' Behavior
GetoptLong Parsing Command-Line Arguments and Variable Interpolation
GGally Extension to 'ggplot2'
ggbio Visualization tools for genomic data
ggdendro Create Dendrograms and Tree Diagrams Using 'ggplot2'
ggjoy Joyplots in 'ggplot2'
ggm Functions for graphical Markov models
ggplot2 Create Elegant Data Visualisations Using the Grammar of Graphics
ggplot2movies Movies Data
ggpubr 'ggplot2' Based Publication Ready Plots
ggRandomForests Visually Exploring Random Forests
ggrepel Automatically Position Non-Overlapping Text Labels with 'ggplot2'
ggridges Ridgeline Plots in 'ggplot2'
ggsci Scientific Journal and Sci-Fi Themed Color Palettes for 'ggplot2'
ggsignif Significance Brackets for 'ggplot2'
ggtree an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data
ggvis Interactive Grammar of Graphics
GIGrvg Random Variate Generator for the GIG Distribution
git2r Provides Access to Git Repositories
glasso Graphical lasso- estimation of Gaussian graphical models
glm2 Fitting Generalized Linear Models
glmmLasso Variable Selection for Generalized Linear Mixed Models by L1-Penalized Estimation
glmnet Lasso and Elastic-Net Regularized Generalized Linear Models
GlobalOptions Generate Functions to Get or Set Global Options
globals Identify Global Objects in R Expressions
glue Interpreted String Literals
gmailr Access the Gmail RESTful API
gmodels Various R Programming Tools for Model Fitting
gmp Multiple Precision Arithmetic
GO.db A set of annotation maps describing the entire Gene Ontology
GOSemSim GO-terms Semantic Similarity Measures
gower Gower's Distance
GPArotation GPA Factor Rotation
gplots Various R Programming Tools for Plotting Data
graph graph: A package to handle graph data structures
gridBase Integration of base and grid graphics
gridExtra Miscellaneous Functions for "Grid" Graphics
gridSVG Export 'grid' Graphics as SVG
grplasso Fitting user specified models with Group Lasso penalty
grpreg Regularization Paths for Regression Models with Grouped Covariates
gss General Smoothing Splines
gstat Spatial and Spatio-Temporal Geostatistical Modelling
gsubfn Utilities for Strings and Function Arguments
gtable Arrange 'Grobs' in Tables
gtools Various R Programming Tools
GUESSFM Using GUESS for Fine Mapping
hashmap The Faster Hash Map
haven Import and Export 'SPSS'
hdf5r Interface to the 'HDF5' Binary Data Format
HDMD Statistical Analysis Tools for High Dimension Molecular Data (HDMD)
hexbin Hexagonal Binning Routines
highr Syntax Highlighting for R Source Code
HKprocess Hurst-Kolmogorov Process
Hmisc Harrell Miscellaneous
hms Pretty Time of Day
horseshoe Implementation of the Horseshoe Prior
hpar Human Protein Atlas in R
htmlTable Advanced Tables for Markdown/HTML
htmltools Tools for HTML
htmlwidgets HTML Widgets for R
httpcode 'HTTP' Status Code Helper
httpuv HTTP and WebSocket Server Library
httr Tools for Working with URLs and HTTP
huge High-Dimensional Undirected Graph Estimation
hunspell High-Performance Stemmer
hwriter HTML Writer - Outputs R objects in HTML format
hydroGOF Goodness-of-Fit Functions for Comparison of Simulated and Observed Hydrological Time Series
hydroTSM Time Series Management
hyperSpec Work with Hyperspectral Data
ica Independent Component Analysis
igraph Network Analysis and Visualization
illuminaio Parsing Illumina Microarray Output Files
impute impute: Imputation for microarray data
indicspecies Relationship Between Species and Groups of Sites
inline Functions to Inline C
intansv Integrative analysis of structural variations
interactiveDisplayBase Base package for enabling powerful shiny web displays of Bioconductor objects
intervals Tools for Working with Points and Intervals
IONiseR Quality Assessment Tools for Oxford Nanopore MinION data
IPO Automated Optimization of XCMS Data Processing parameters
ipred Improved Predictors
ipw Estimate Inverse Probability Weights
IRanges Infrastructure for manipulating intervals on sequences
IRdisplay 'Jupyter' Display Machinery
IRkernel Native R Kernel for the 'Jupyter Notebook'
irlba Fast Truncated Singular Value Decomposition and Principal Components Analysis for Large Dense and Sparse Matrices
itcSegment Individual Tree Crowns Segmentation
iterators Provides Iterator Construct for R
itertools Iterator Tools
jagsUI A Wrapper Around 'rjags' to Streamline 'JAGS' Analyses
jomo Multilevel Joint Modelling Multiple Imputation
jpeg Read and write JPEG images
jsonlite A Robust
kebabs Kernel-Based Analysis Of Biological Sequences
KEGG.db A set of annotation maps for KEGG
KEGGgraph KEGGgraph: A graph approach to KEGG PATHWAY in R and Bioconductor
KEGGprofile An annotation and visualization package for multi-types and multi-groups expression data in KEGG pathway
KEGGREST Client-side REST access to KEGG
keras R Interface to 'Keras'
kerasR R Interface to the Keras Deep Learning Library
kernlab Kernel-Based Machine Learning Lab
KernSmooth Functions for Kernel Smoothing Supporting Wand & Jones (1995)
KFAS Kalman Filter and Smoother for Exponential Family State Space Models
kimisc Kirill's Miscellaneous Functions
kinship2 Pedigree Functions
klaR Classification and Visualization
knitr A General-Purpose Package for Dynamic Report Generation in R
labeling Axis Labeling
labelled Manipulating Labelled Data
lambda.r Modeling Data with Functional Programming
lambda.tools Tools for Modeling Data with Functional Programming
lars Least Angle Regression
lassoshooting L1 regularized regression (Lasso) solver using the Cyclic Coordinate Descent algorithm aka Lasso Shooting
later Utilities for Delaying Function Execution
lattice Trellis Graphics for R
latticeExtra Extra Graphical Utilities Based on Lattice
lava Latent Variable Models
lavaan Latent Variable Analysis
lavaan.survey Complex Survey Structural Equation Modeling (SEM)
lazyeval Lazy (Non-Standard) Evaluation
LDcorSV Linkage Disequilibrium Corrected by the Structure and the Relatedness
LDheatmap Graphical Display of Pairwise Linkage Disequilibria Between SNPs
leaflet Create Interactive Web Maps with the JavaScript 'Leaflet' Library
leaflet.extras Extra Functionality for 'leaflet' Package
leaps Regression Subset Selection
LearnBayes Functions for Learning Bayesian Inference
lfmm Latent Factor Mixed Models
LiblineaR Linear Predictive Models Based on the 'LIBLINEAR' C/C++ Library
lidR Airborne LiDAR Data Manipulation and Visualization for Forestry Applications
limma Linear Models for Microarray Data
limSolve Solving Linear Inverse Models
LinkedMatrix Column-Linked and Row-Linked Matrices
lintr A 'Linter' for R Code
listenv Environments Behaving (Almost) as Lists
lme4 Linear Mixed-Effects Models using 'Eigen' and S4
lmmen Linear Mixed Model Elastic Net
lmmlasso Linear mixed-effects models with Lasso
lmtest Testing Linear Regression Models
locfit Local Regression
loo Efficient Leave-One-Out Cross-Validation and WAIC for Bayesian Models
lpSolve Interface to 'Lp_solve' v. 5.5 to Solve Linear/Integer Programs
lsgl Linear Multiple Output Sparse Group Lasso
lsmeans Least-Squares Means
ltsa Linear Time Series Analysis
lubridate Make Dealing with Dates a Little Easier
magic Create and Investigate Magic Squares
magrittr A Forward-Pipe Operator for R
MAIT Statistical Analysis of Metabolomic Data
MALDIquant Quantitative Analysis of Mass Spectrometry Data
manipulate Interactive Plots for RStudio
manipulateWidget Add Even More Interactivity to Interactive Charts
mapdata Extra Map Databases
mapedit Interactive Editing of Spatial Data in R
mapproj Map Projections
maps Draw Geographical Maps
maptools Tools for Reading and Handling Spatial Objects
mapview Interactive Viewing of Spatial Data in R
markdown 'Markdown' Rendering for R
MARSS Multivariate Autoregressive State-Space Modeling
MASS Support Functions and Datasets for Venables and Ripley's MASS
MassSpecWavelet Mass spectrum processing by wavelet-based algorithms
Matrix Sparse and Dense Matrix Classes and Methods
matrixcalc Collection of functions for matrix calculations
MatrixModels Modelling with Sparse And Dense Matrices
matrixStats Functions that Apply to Rows and Columns of Matrices (and to Vectors)
MaxentVariableSelection Selecting the Best Set of Relevant Environmental Variables along with the Optimal Regularization Multiplier for Maxent Niche Modeling
mclust Gaussian Mixture Modelling for Model-Based Clustering
mcmc Markov Chain Monte Carlo
MCMCpack Markov Chain Monte Carlo (MCMC) Package
mcmcplots Create Plots from MCMC Output
mda Mixture and Flexible Discriminant Analysis
mdatools Multivariate Data Analysis for Chemometrics
memoise Memoisation of Functions
memuse Memory Estimation Utilities
MESS Miscellaneous Esoteric Statistical Scripts
metabolomics Analysis of Metabolomics Data
MetaboSignal MetaboSignal: a network-based approach to overlay and explore metabolic and signaling KEGG pathways
metap Meta-Analysis of Significance Values
methylKit DNA methylation analysis from high-throughput bisulfite sequencing results
methylumi Handle Illumina methylation data
Metrics Evaluation Metrics for Machine Learning
mgcv Mixed GAM Computation Vehicle with Automatic Smoothness Estimation
mice Multivariate Imputation by Chained Equations
micropan Microbial Pan-Genome Analysis
microseq Basic Biological Sequence Handling
mime Map Filenames to MIME Types
minfi Analyze Illumina Infinium DNA methylation arrays
miniUI Shiny UI Widgets for Small Screens
minpack.lm R Interface to the Levenberg-Marquardt Nonlinear Least-Squares Algorithm Found in MINPACK
minqa Derivative-free optimization algorithms by quadratic approximation
mirt Multidimensional Item Response Theory
misc3d Miscellaneous 3D Plots
miscTools Miscellaneous Tools and Utilities
missForest Nonparametric Missing Value Imputation using Random Forest
mitml Tools for Multiple Imputation in Multilevel Modeling
mitools Tools for multiple imputation of missing data
mixOmics Omics Data Integration Project
mixtools Tools for Analyzing Finite Mixture Models
mlbench Machine Learning Benchmark Problems
mnormt The Multivariate Normal and t Distributions
ModelMetrics Rapid Calculation of Model Metrics
modelr Modelling Functions that Work with the Pipe
modeltools Tools and Classes for Statistical Models
mpm Multivariate Projection Methods
mpoly Symbolic Computation and More with Multivariate Polynomials
msm Multi-State Markov and Hidden Markov Models in Continuous Time
MSnbase Base Functions and Classes for Mass Spectrometry and Proteomics
MTS All-Purpose Toolkit for Analyzing Multivariate Time Series (MTS) and Estimating Multivariate Volatility Models
multcomp Simultaneous Inference in General Parametric Models
multispatialCCM Multispatial Convergent Cross Mapping
multiwayvcov Multi-Way Standard Error Clustering
multtest Resampling-based multiple hypothesis testing
munsell Utilities for Using Munsell Colours
mvtnorm Multivariate Normal and t Distributions
MWASTools MWASTools: an integrated pipeline to perform metabolome-wide association studies
mygene Access MyGene.Info_ services
mzID An mzIdentML parser for R
mzR parser for netCDF
NADA Nondetects and Data Analysis for Environmental Data
natserv 'NatureServe' Interface
ncbit retrieve and build NBCI taxonomic data
ncvreg Regularization Paths for SCAD and MCP Penalized Regression Models
neldermead R Port of the 'Scilab' Neldermead Module
network Classes for Relational Data
neuralnet Training of Neural Networks
nleqslv Solve Systems of Nonlinear Equations
nlme Linear and Nonlinear Mixed Effects Models
nloptr R interface to NLopt
NLP Natural Language Processing Infrastructure
NMF Algorithms and Framework for Nonnegative Matrix Factorization (NMF)
nnet Feed-Forward Neural Networks and Multinomial Log-Linear Models
NOISeq Exploratory analysis and differential expression for RNA-seq data
nor1mix Normal (1-d) Mixture Models (S3 Classes and Methods)
np Nonparametric Kernel Smoothing Methods for Mixed Data Types
numDeriv Accurate Numerical Derivatives
oligo Preprocessing tools for oligonucleotide arrays
oligoClasses Classes for high-throughput arrays supported by oligo and crlmm
openNLP Apache OpenNLP Tools Interface
openNLPdata Apache OpenNLP Jars and Basic English Language Models
openssl Toolkit for Encryption
openxlsx Read
optextras Tools to Support Optimization Possibly with Bounds and Masks
optimbase R port of the Scilab optimbase module
optimsimplex R Port of the 'Scilab' Optimsimplex Module
optimx A Replacement and Extension of the optim() Function
optparse Command Line Option Parser
ordinal Regression Models for Ordinal Data
ordinationDuality Performs orthogonal decomposition
OrganismDbi Software to enable the smooth interfacing of different database packages
org.Hs.eg.db Genome wide annotation for Human
orthopolynom Collection of functions for orthogonal and orthonormal polynomials
packrat A Dependency Management System for Projects and their R Package Dependencies
pamr Pam: prediction analysis for microarrays
pan Multiple Imputation for Multivariate Panel or Clustered Data
parallelDist Parallel Distance Matrix Computation using Multiple Threads
partitions Additive Partitions of Integers
pbapply Adding Progress Bar to '*apply' Functions
pbdZMQ Programming with Big Data -- Interface to 'ZeroMQ'
pbivnorm Vectorized Bivariate Normal CDF
pbkrtest Parametric Bootstrap and Kenward Roger Based Methods for Mixed Model Comparison
pbmcapply Tracking the Progress of Mc*pply with Progress Bar
pcalg Methods for Graphical Models and Causal Inference
pcaMethods A collection of PCA methods
pcaPP Robust PCA by Projection Pursuit
pegas Population and Evolutionary Genetics Analysis System
penalized L1 (Lasso and Fused Lasso) and L2 (Ridge) Penalized Estimation in GLMs and in the Cox Model
PerformanceAnalytics Econometric Tools for Performance and Risk Analysis
permute Functions for Generating Restricted Permutations of Data
phangorn Phylogenetic Reconstruction and Analysis
pheatmap Pretty Heatmaps
phylobase Base Package for Phylogenetic Structures and Comparative Data
phylolm Phylogenetic Linear Regression
phylomap Phylogenetic Stochastic Mapping
phyloseq Handling and analysis of high-throughput microbiome census data
phytools Phylogenetic Tools for Comparative Biology (and Other Things)
picasso Pathwise Calibrated Sparse Shooting Algorithm
pillar Coloured Formatting for Columns
pinfsc50 Sequence ('FASTA')
pixmap Bitmap Images (``Pixel Maps)
pkgconfig Private Configuration for 'R' Packages
pkgmaker Development Utilities for R Packages
PKI Public Key Infrastucture for R Based on the X.509 Standard
plogr The 'plog' C++ Logging Library
plot3D Plotting Multi-Dimensional Data
plotly Create Interactive Web Graphics via 'plotly.js'
plotmo Plot a Model's Residuals
plotrix Various Plotting Functions
pls Partial Least Squares and Principal Component Regression
plsgenomics PLS Analyses for Genomics
plsRglm Partial Least Squares Regression for Generalized Linear Models
plyr Tools for Splitting
png Read and write PNG images
polynom A Collection of Functions to Implement a Class for Univariate Polynomial Manipulations
PopGenome An Efficient Swiss Army Knife for Population Genomic Analyses
pophelper Tabulate
poRe An R package to enable organisation and visualisation of nanopore sequencing data
poweRlaw Analysis of Heavy Tailed Distributions
ppcor Partial and Semi-Partial (Part) Correlation
prabclus Functions for Clustering of Presence-Absence
pracma Practical Numerical Math Functions
praise Praise Users
preprocessCore A collection of pre-processing functions
PresenceAbsence Presence-Absence Model Evaluation.
prettyunits Pretty
pROC Display and Analyze ROC Curves
processx Execute and Control System Processes
prodlim Product-Limit Estimation for Censored Event History Analysis
progress Terminal Progress Bars
proj4 A simple interface to the PROJ.4 cartographic projections library
promises Abstractions for Promise-Based Asynchronous Programming
propr Calculating Proportionality Between Vectors of Compositional Data
ProtGenerics S4 generic functions for Bioconductor proteomics infrastructure
proto Prototype Object-Based Programming
proxy Distance and Similarity Measures
pryr Tools for Computing on the Language
pscl Political Science Computational Laboratory
psych Procedures for Psychological
purrr Functional Programming Tools
purrrlyr Tools at the Intersection of 'purrr' and 'dplyr'
qdap Bridging the Gap Between Qualitative Data and Quantitative Analysis
qdapDictionaries Dictionaries and Word Lists for the 'qdap' Package
qdapRegex Regular Expression Removal
qdapTools Tools for the 'qdap' Package
qpcR Modelling and Analysis of Real-Time PCR Data
qqman Q-Q and Manhattan Plots for GWAS Data
qtl Tools for Analyzing QTL Experiments
quadprog Functions to solve Quadratic Programming Problems.
quantmod Quantitative Financial Modelling Framework
quantreg Quantile Regression
questionr Functions to Make Surveys Processing Easier
qvalue Q-value estimation for false discovery rate control
R2admb 'ADMB' to R Interface Functions
R2GUESS Wrapper Functions for GUESS
R2HTML HTML Exportation for R Objects
R2jags Using R to Run 'JAGS'
R2WinBUGS Running 'WinBUGS' and 'OpenBUGS' from 'R' / 'S-PLUS'
R6 Classes with Reference Semantics
radiator RADseq Data Exploration
RandomFields Simulation and Analysis of Random Fields
RandomFieldsUtils Utilities for the Simulation and Analysis of Random Fields
randomForest Breiman and Cutler's Random Forests for Classification and Regression
randomForestSRC Random Forests for Survival
randtoolbox Toolbox for Pseudo and Quasi Random Number Generation and RNG Tests
ranger A Fast Implementation of Random Forests
RANN Fast Nearest Neighbour Search (Wraps ANN Library) Using L2 Metric
rARPACK Solvers for Large Scale Eigenvalue and SVD Problems
raster Geographic Data Analysis and Modeling
rasterVis Visualization Methods for Raster Data
R.basic [R] Class Library - Stand-alone basic functions [DEPRECATED]
RBGL An interface to the BOOST graph library
Rcgmin Conjugate Gradient Minimization of Nonlinear Functions
RColorBrewer ColorBrewer Palettes
Rcpp Seamless R and C++ Integration
RcppArmadillo 'Rcpp' Integration for the 'Armadillo' Templated Linear Algebra Library
RcppEigen 'Rcpp' Integration for the 'Eigen' Templated Linear Algebra Library
RcppGSL 'Rcpp' Integration for 'GNU GSL' Vectors and Matrices
RcppParallel Parallel Programming Tools for 'Rcpp'
RcppProgress An Interruptible Progress Bar with OpenMP Support for C++ in R Packages
RcppRoll Efficient Rolling / Windowed Operations
RcppZiggurat 'Rcpp' Integration of Different "Ziggurat" Normal RNG Implementations
RCurl General Network (HTTP/FTP/...) Client Interface for R
rda Shrunken Centroids Regularized Discriminant Analysis
R.devices Unified Handling of Graphics Devices
readr Read Rectangular Text Data
readxl Read Excel Files
recipes Preprocessing Tools to Create Design Matrices
registry Infrastructure for R Package Registries
regress Gaussian Linear Models with Linear Covariance Structure
rematch Match Regular Expressions with a Nicer 'API'
rentrez 'Entrez' in R
reports Assist the Workflow of Writing Academic Articles and Other Reports
repr Serializable Representations
reprex Prepare Reproducible Example Code via the Clipboard
reshape Flexibly Reshape Data
reshape2 Flexibly Reshape Data: A Reboot of the Reshape Package
ResourceSelection Resource Selection (Probability) Functions for Use-Availability Data
reticulate Interface to 'Python'
rex Friendly Regular Expressions
rexpokit R Wrappers for EXPOKIT; Other Matrix Functions
rgdal Bindings for the 'Geospatial' Data Abstraction Library
rgeos Interface to Geometry Engine - Open Source ('GEOS')
rgl 3D Visualization Using OpenGL
Rgraphviz Provides plotting capabilities for R graph objects
rhdf5 HDF5 interface to R
rhierbaps rhierbaps
RhpcBLASctl Control the Number of Threads on 'BLAS'
Rhtslib HTSlib high-throughput sequencing library as an R package
RInside C++ Classes to Embed R in C++ Applications
rio A Swiss-Army Knife for Data I/O
ritis Integrated Taxonomic Information System Client
rjags Bayesian Graphical Models using MCMC
rJava Low-Level R to Java Interface
rjson JSON for R
RJSONIO Serialize R objects to JSON
rlang Functions for Base Types and Core R and 'Tidyverse' Features
rlas Read and Write 'las' and 'laz' Binary File Formats Used for Remote Sensing Data
rlecuyer R Interface to RNG with Multiple Streams
rmarkdown Dynamic Documents for R
R.methodsS3 S3 Methods Simplified
Rmisc Rmisc: Ryan Miscellaneous
RMTstat Distributions
RMySQL Database Interface and 'MySQL' Driver for R
RnBeads RnBeads
rncl An Interface to the Nexus Class Library
RNeXML Semantically Rich I/O for the 'NeXML' Format
rngtools Utility Functions for Working with Random Number Generators
rngWELL Toolbox for WELL Random Number Generators
robust Port of the S+ "Robust Library"
robustbase Basic Robust Statistics
ROC utilities for ROC
ROCR Visualizing the Performance of Scoring Classifiers
R.oo R Object-Oriented Programming with or without References
rotl Interface to the 'Open Tree of Life' API
roxygen2 In-Line Documentation for R
rpart Recursive Partitioning and Regression Trees
RPMM Recursively Partitioned Mixture Model
RPostgreSQL R Interface to the 'PostgreSQL' Database System
rprojroot Finding Files in Project Subdirectories
rrBLUP Ridge Regression and Other Kernels for Genomic Selection
rrcov Scalable Robust Estimators with High Breakdown Point
rredlist 'IUCN' Red List Client
rrpack Reduced-Rank Regression
Rsamtools Binary alignment (BAM)
rsconnect Deployment Interface for R Markdown Documents and Shiny Applications
RSkittleBrewer Fun with R Colors
rslurm Submit R Calculations to a Slurm Cluster
rsm Response-Surface Analysis
Rsolnp General Non-Linear Optimization
RSpectra Solvers for Large-Scale Eigenvalue and SVD Problems
RSQLite 'SQLite' Interface for R
rstan R Interface to Stan
rstanarm Bayesian Applied Regression Modeling via Stan
rstantools Tools for Developing R Packages Interfacing with 'Stan'
rstudioapi Safely Access the RStudio API
Rsubread Subread sequence alignment for R
rtracklayer R interface to genome annotation files and the UCSC genome browser
Rtsne T-Distributed Stochastic Neighbor Embedding using a Barnes-Hut Implementation
RUnit R Unit Test Framework
R.utils Various Programming Utilities
ruv Detect and Remove Unwanted Variation using Negative Controls
rvcheck R/Package Version Check
rversions Query 'R' Versions
rvest Easily Harvest (Scrape) Web Pages
Rvmmin Variable Metric Nonlinear Function Minimization
rworldmap Mapping Global Data
S4Vectors S4 implementation of vector-like and list-like objects
SALES Elastic Net and (Adaptive) Lasso Penalized Sparse Asymmetric Least Squares (SALES) and Coupled Sparse Asymmetric Least Squares (COSALES) using Coordinate Descent and Proximal Gradient Algorithms
samr SAM: Significance Analysis of Microarrays
sandwich Robust Covariance Matrix Estimators
satellite Handling and Manipulating Remote Sensing Data
scales Scale Functions for Visualization
scatterplot3d 3D Scatter Plot
scoringRules Scoring Rules for Parametric and Simulated Distribution Forecasts
SDMTools Species Distribution Modelling Tools: Tools for processing data associated with species distribution modelling exercises
seegSDM Streamlined Functions for Species Distribution Modelling in the SEEG Research Group
segmented Regression Models with Break-Points / Change-Points Estimation
selectr Translate CSS Selectors to XPath Expressions
sensitivity Global Sensitivity Analysis of Model Outputs
seqinr Biological Sequences Retrieval and Analysis
setRNG Set (Normal) Random Number Generator and Seed
settings Software Option Settings Manager for R
Seurat Tools for Single Cell Genomics
sf Simple Features for R
sfsmisc Utilities from 'Seminar fuer Statistik' ETH Zurich
sglOptim Generic Sparse Group Lasso Solver
shape Functions for Plotting Graphical Shapes
shiny Web Application Framework for R
shinyjs Easily Improve the User Experience of Your Shiny Apps in Seconds
shinystan Interactive Visual and Numerical Diagnostics and Posterior Analysis for Bayesian Models
shinythemes Themes for Shiny
ShortRead FASTQ input and manipulation
siggenes Multiple testing using SAM and Efron's empirical Bayes approaches
SimCorMultRes Simulates Correlated Multinomial Responses
SKAT SNP-Set (Sequence) Kernel Association Test
slam Sparse Lightweight Arrays and Matrices
sleuth Tools for investigating RNA-Seq
sn The Skew-Normal and Related Distributions Such as the Skew-t
sna Tools for Social Network Analysis
snow Simple Network of Workstations
snowfall Easier cluster computing (based on snow).
snpReady Preparing Genotypic Datasets in Order to Run Genomic Analysis
SNPRelate Parallel Computing Toolset for Relatedness and Principal Component Analysis of SNP Data
snpStats SnpMatrix and XSnpMatrix classes and methods
solrium General Purpose R Interface to 'Solr'
sommer Solving Mixed Model Equations in R
sourcetools Tools for Reading
sp Classes and Methods for Spatial Data
spacetime Classes and Methods for Spatio-Temporal Data
spam SPArse Matrix
sparsebn Learning Sparse Bayesian Networks from High-Dimensional Data
sparsebnUtils Utilities for Learning Sparse Bayesian Networks
SparseM Sparse Linear Algebra
sparsevar A Package for Sparse VAR/VECM Estimation
spatial Functions for Kriging and Point Pattern Analysis
SpatioTemporal Spatio-Temporal Model Estimation
spData Datasets for Spatial Analysis
spDataLarge Large datasets for spatial analysis
spdep Spatial Dependence: Weighting Schemes
speedglm Fitting Linear and Generalized Linear Models to Large Data Sets
SpiecEasi Sparse Inverse Covariance for Ecological Statistical Inference
splancs Spatial and Space-Time Point Pattern Analysis
splitstackshape Stack and Reshape Datasets After Splitting Concatenated Values
spls Sparse Partial Least Squares (SPLS) Regression and Classification
sqldf Manipulate R Data Frames Using SQL
SQUAREM Squared Extrapolation Methods for Accelerating EM-Like Monotone Algorithms
stabledist Stable Distribution Functions
StanHeaders C++ Header Files for Stan
statip Statistical Functions for Probability Distributions
statmod Statistical Modeling
statnet.common Common R Scripts and Utilities Used by the Statnet Project Software
stringdist Approximate String Matching and String Distance Functions
stringi Character String Processing Facilities
stringr Simple
strucchange Testing
subplex Unconstrained Optimization using the Subplex Algorithm
SummarizedExperiment SummarizedExperiment container
survey Analysis of Complex Survey Samples
survival Survival Analysis
sva Surrogate Variable Analysis
svDialogs 'SciViews' - Standard Dialog Boxes for Windows
SVGAnnotation Tools for post-processing SVG plots created in R
svglite An 'SVG' Graphics Device
svGUI SciViews - Manage GUIs in R
svUnit SciViews GUI API - Unit testing
symDMatrix Partitioned Symmetric Matrices
synbreed Framework for the Analysis of Genomic Prediction Data using R
targetSeqView View alignments over candidate structural variant loci
tawny Clean Covariance Matrices Using Random Matrix Theory and Shrinkage Estimators for Portfolio Optimization
tawny.types Common Types for Tawny
taxize Taxonomic Information from Around the Web
tclust Robust Trimmed Clustering
TeachingDemos Demonstrations for Teaching and Learning
tensorA Advanced tensors arithmetic with named indices
tensorflow R Interface to 'TensorFlow'
testthat Unit Testing for R
tfruns Training Run Tools for 'TensorFlow'
TH.data TH's Data Archive
threejs Interactive 3D Scatter Plots
tibble Simple Data Frames
tidyr Easily Tidy Data with 'spread()' and 'gather()' Functions
tidyselect Select from a Set of Strings
tidyverse Easily Install and Load the 'Tidyverse'
tiff Read and write TIFF images
timeDate Rmetrics - Chronological and Calendar Objects
timeSeries Rmetrics - Financial Time Series Objects
tinytex Helper Functions to Install and Maintain 'TeX Live'
tm Text Mining Package
treeio Base Classes and Functions for Phylogenetic Tree Input and Output
triebeard 'Radix' Trees in 'Rcpp'
trimcluster Cluster analysis with trimming
truncnorm Truncated Normal Distribution
tseries Time Series Analysis and Computational Finance
tseriesChaos Analysis of nonlinear time series
tsne T-Distributed Stochastic Neighbor Embedding for R (t-SNE)
TTR Technical Trading Rules
twang Toolkit for Weighting and Analysis of Nonequivalent Groups
TxDb.Hsapiens.UCSC.hg19.knownGene Annotation package for TxDb object(s)
ucminf General-Purpose Unconstrained Non-Linear Optimization
udunits2 Udunits-2 Bindings for R
units Measurement Units for R Vectors
UpSetR A More Scalable Alternative to Venn and Euler Diagrams for Visualizing Intersecting Sets
urca Unit Root and Cointegration Tests for Time Series Data
urltools Vectorised Tools for URL Handling and Parsing
uroot Unit Root Tests for Seasonal Time Series
utf8 Unicode Text Processing
uuid Tools for generating and handling of UUIDs
V8 Embedded JavaScript Engine for R
VariantAnnotation Annotation of Genetic Variants
vars VAR Modelling
varSelRF Variable Selection using Random Forests
vcd Visualizing Categorical Data
vcfR Manipulate and Visualize VCF Data
vegan Community Ecology Package
VEGAWES A package to perform vartiational-based copy number segmentation on WES data
VennDiagram Generate High-Resolution Venn and Euler Plots
venneuler Venn and Euler Diagrams
VGAM Vector Generalized Linear and Additive Models
viridis Default Color Maps from 'matplotlib'
viridisLite Default Color Maps from 'matplotlib' (Lite Version)
vsn Variance stabilization and calibration for microarray data
wavelets A package of functions for computing wavelet filters
waveslim Basic wavelet routines for one-
wavethresh Wavelets Statistics and Transforms
wbs Wild Binary Segmentation for Multiple Change-Point Detection
webshot Take Screenshots of Web Pages
WGCNA Weighted Correlation Network Analysis
whisker {{mustache}} for R
WikidataR API Client Library for 'Wikidata'
WikipediR A MediaWiki API Wrapper
wikitaxa Taxonomic Information from 'Wikipedia'
withr Run Code 'With' Temporarily Modified Global State
wordcloud Word Clouds
worrms World Register of Marine Species (WoRMS) Client
xcms LC/MS and GC/MS Data Analysis
xgboost Extreme Gradient Boosting
xlsx Read
xlsxjars Package required POI jars for the xlsx package
XML Tools for Parsing and Generating XML Within R and S-Plus
xml2 Parse XML
xtable Export Tables to LaTeX or HTML
xts eXtensible Time Series
XVector Representation and manipulation of external sequences
yaml Methods to Convert R Data to YAML and Back
zCompositions Treatment of Zeros and Nondetects in Compositional Data Sets
zeallot Multiple
zip Cross-Platform 'zip' Compression
zlibbioc An R packaged zlib-1.2.5
zoo S3 Infrastructure for Regular and Irregular Time Series (Z's Ordered Observations)
base The R Base Package
boot Bootstrap Functions (Originally by Angelo Canty for S)
class Functions for Classification
cluster Finding Groups in Data: Cluster Analysis Extended Rousseeuw et al.
codetools Code Analysis Tools for R
compiler The R Compiler Package
datasets The R Datasets Package
foreign Read Data Stored by 'Minitab'
graphics The R Graphics Package
grDevices The R Graphics Devices and Support for Colours and Fonts
grid The Grid Graphics Package
KernSmooth Functions for Kernel Smoothing Supporting Wand & Jones (1995)
lattice Trellis Graphics for R
MASS Support Functions and Datasets for Venables and Ripley's MASS
Matrix Sparse and Dense Matrix Classes and Methods
methods Formal Methods and Classes
mgcv Mixed GAM Computation Vehicle with Automatic Smoothness Estimation
nlme Linear and Nonlinear Mixed Effects Models
nnet Feed-Forward Neural Networks and Multinomial Log-Linear Models
parallel Support for Parallel computation in R
rpart Recursive Partitioning and Regression Trees
spatial Functions for Kriging and Point Pattern Analysis
splines Regression Spline Functions and Classes
stats The R Stats Package
stats4 Statistical Functions using S4 Classes
survival Survival Analysis
tcltk Tcl/Tk Interface
tools Tools for Package Development
utils The R Utils Package