Using R language with Anaconda

With Anaconda you can easily install the R programming language and over 400 of the most used R packages for data science, and easily create and share your own custom R packages.

NOTE: When using conda to install R packages, you will need to add r- before the regular CRAN or MRAN name. For instance, if you want to install rbokeh, you will need to use conda install r-rbokeh.

The R Essentials bundle contains the IRKernel and more than 80 of the most popular R packages for data science, including dplyr, shiny, ggplot2, tidyr, caret and nnet.

As of early 2018, the default R interpreter installed into new environments is MRO. You can specify the MRO interpreter with the mro-base package or the R interpreter with the r-base package. Unless you request a change, conda will continue to use the existing interpreter in each environment.

To run the commands below on Windows use Start - Anaconda Prompt. On macOS or Linux open a Terminal.

MRO supported operating systems

  • 64-bit systems only for all operating systems—Windows, macOS and Linux.
  • Windows 7.0 SP1, Windows 8.1, Windows 10, Windows Server 2008 R2 SP1 and Windows Server 2012.
  • Linux—CentOS, Red Hat Enterprise Linux, Debian and Ubuntu.

Anaconda with R is supported on macOS Yosemite (10.10) and later.

Creating an environment with MRO and R Essentials

  1. Download and install Anaconda.
  • Create a new conda environment with MRO and all the r-essentials conda packages built from MRAN:

    conda create -n mro_env r-essentials mro-base
  • Activate the environment:

    conda activate mro_env
  • List the packages in the environment:

    conda list

The list shows that the package mro-base is installed and mro is listed in the build string of the other R packages in the environment.

When using MRO conda packages, starting the R interactive interpreter shows Microsoft R Open in the startup message.

Anaconda Navigator, the Anaconda graphical package manager and application launcher, also creates MRO environments by default. You may instead select R when creating a new conda environment from within Navigator.

Microsoft R Client

Microsoft R Client is a free, community-supported data science tool for high performance analytics built on top of MRO. Additionally, R Client introduces the powerful ScaleR technology and its proprietary functions to benefit from parallelization and remote computing.

Microsoft R Client is now available as a conda package (r-mrclient). Users of Windows or RHEL-7/CentOS7/Ubuntu 14.04 and above also have the option to conda install the MicrosoftML R package for machine learning (r-mrclient-mml) and the pre-trained models for sentiment analysis and image detection (r-mrclient-mlm).

Updating R packages

  • Update all of the packages and their dependencies with one command:

    conda update r-essentials
  • If a new version of a package is available in the R channel, you can use conda update to update specific packages.

Creating a new environment with R instead of MRO

When creating a new environment, you can use R and not MRO by explicitly including r-base in your list of packages. This option will continue to be supported for users who prefer R or use platforms that do not support MRO, including 32-bit operating systems and older versions of macOS.

With conda 4.4:

conda create -n r-environment r-essentials r-base
conda activate r-environment

Switch an environment from R to MRO

  • Activate the environment containing R.

  • If you use conda 4.4 or later, run:

    conda install mro-base
  • If you use conda 4.3, run:

    conda remove --force r-base _r-mutex
    conda install mro-base

The environment’s R interpreter will switch from R to MRO.

Switch the default R interpreter from MRO to R

  • Run conda info and check your version of conda.

  • If your version of conda is below 4.4, run conda update conda to update conda to the latest version.

  • Run:

    conda config --system --set pinned_packages _r-mutex=*=anacondar*

The default R interpreter will switch from MRO to R.

Creating and sharing custom R bundles

Creating and sharing custom R bundles is similar to creating and sharing conda packages.

EXAMPLE: Create a simple custom R bundle metapackage named “Custom-R-Bundle” that contains several popular programs and their dependencies:

conda metapackage custom-r-bundle 0.1.0 --dependencies r-irkernel jupyter r-ggplot2 r-dplyr --summary "My custom R bundle"

Share the new metapackage by uploading it to your channel on Anaconda Cloud:

conda install anaconda-client
anaconda login
anaconda upload custom-r-bundle-0.1.0-0.tar.bz2

Anyone can now access your custom R bundle from any computer:

conda install -c <your username> custom-r-bundle

For more information, see Jupyter and conda for R language.

Mirroring the R channel

Many Anaconda Enterprise customers maintain a local mirror of the R channel.

When mirroring the R channel for the first time after the early 2018 update, clean the existing packages by running the command anaconda-server-sync-conda with the option --clean.

R packages

  • r-essentials: The R Essentials bundle contains the IRKernel and more than 80 of the most popular R packages for data science, including dplyr, shiny, ggplot2, tidyr, caret and nnet.
  • mro-basics: The MRO Basics metapackage contains everything in the Microsoft MRO installers. It does not include r-mrclient, r-mrclient-mml, or r-mrclient-mlm.
  • r-mrclient: Microsoft R Client is a free, community-supported, data science tool for high performance analytics.
  • r-mrclient-mml: MicrosoftML provides state-of-the-art fast, scalable machine learning algorithms and transforms for R. Depends on r-mrclient.
  • r-mrclient-mlm: MicrosoftML Machine Learning Models are pre-trained machine learning models for sentiment analysis and image detection. Depends on r-mrclient-mml.

Uninstalling R Essentials

To uninstall the R Essentials package, run:

conda remove r-essentials

NOTE: This removes only R Essentials and disables R Language support. Other R language packages are not removed.

User group

For community help on using conda with MRO, join the conda email group.


Here are our more popular resources on using Anaconda with the R programming language:

  • R Language packages available for use with Anaconda–There are hundreds of R language packages now available, and several ways to get them.
  • Navigator tutorial–Use the R programming language with Anaconda Navigator. The Anaconda Navigator graphical interface (GUI) makes it easy for even new users to use and run the R language in a Jupyter Notebook.
  • Using R packages with Anaconda and Cloudera CDH–Anaconda Scale provides resource management tools to easily deploy Anaconda across a cluster. It helps you manage multiple conda environments and packages, including Python and R language, on bare-metal or cloud-based clusters.
  • Blog post: Jupyter and conda for R–The many benefits that Jupyter, the IRKernel and conda can provide for data scientists working with the R programming language.
  • Blog post: Anaconda for R users: SparkR and rBokeh– Data Scientist Christine Doig presents two projects for the R programming language that are powered by Anaconda. rBokeh allows you to create beautiful interactive visualizations. Scale your predictive models with SparkR through Anaconda’s cluster management capabilities.
  • Using Anaconda with Hadoop: Distributed language processing with PySpark– This notebook example shows how Anaconda for cluster management makes it easy to manage packages, including Python and R, on a Hadoop cluster with PySpark.
  • Webinar: Predict. Share. Deploy.–Download the webinar video to:
    • Build predictive models in Python with Anaconda using Python packages such as pandas and scikit-learn in Jupyter Notebooks.
    • Use modern open data science languages including Python and R together in your analysis.
    • Share your results with your entire data science team.
  • Webinar: Anaconda for R Users–Download the slides from the webinar to see how Anaconda makes package, dependency and environment management easy with R language and other Open Data Science languages.