Skip to content
J-M edited this page Jun 10, 2019 · 5 revisions

NOTE: these wiki pages were migrated from a defunct codeplex site and may not be fully up to date yet.

Project Description

Accessing the Common Language Runtime (.NET or Mono) from the R statistical software, in-process.

Keywords: interfacing R and .NET; R and Mono; R to .NET; CLR hosting; embedding Mono

System Requirements

For Use

  • As of May 2019, R 3.4 or above. Probably work with earlier 3.x versions
  • As of May 2019, on Windows Clr requires the .NET Framework (4.6.1+, 4.7.2+ recommended). Groundwork towards running on .NET Core started but it is unclear how to embed the .NET Core runtime into R.
  • As of September 2015 using Mono on Windows is not maintained.
  • MS Visual C++ 2019 runtime

For Development

  • RTools (if Windows)
  • R 3.0.x
  • Building with the Microsoft toolchain: MS .NET SDK, 4.0 or above, with C++ and C# compilers, msbuild. Visual Studio 2012 (Desktop Express Edition or developer and above) provides the toolchain.
  • Building with the Mono toolchain: Mono 3.0.6 to 3.12.1 notes

Installation Instructions

Please follow the Installing R packages in the Documentation. A Quick start page documents the first steps to get the library loaded in R.

News

2019-06

Latest releases will be located under releases on the github project

2013-09-21: Release 0.5-2 (beta 5)

  • Fixed memory leaks when passing R vectors to .NET
  • Major improvement to the handling and reporting of CLR exceptions on MS.NET
  • The download page also has a tarball of the sources
  • Support for Mono included in the windows binaries. Date-time handling is the main lagging feature.

Summary

The R Project for Statistical Computing has seen an outstanding adoption in many scientific fields and is a tool of choice for many. Some things are still better done in other languages (C, Fortran, Java, .NET, etc.). There are ways to link R in-process with most languages, however the interoperability with .NET is lagging. R.NET offers one way to access R from a Common Language Runtime implementation (CLR). The project rClr offers the access to a CLR from R in a manner natural to R users.

To give a feel for the capabilities, below is an extract from the tutorials. A hydrology model written in C# and its time series outputs are visualized in R.

rClr in Action

rClr aims to be for .NET CLR implementations (.NET framework and Mono) what rJava is for Java.