Skip to content
Ruaridh Williamson edited this page Oct 17, 2017 · 5 revisions

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

  • R 3.0 or above. May work with earlier version
  • .NET 4.0 or above
  • MS Visual C++ 2012 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

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

2014-12-18: Release 0.7-2

…is available from https://rclr.codeplex.com.

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.

Clone this wiki locally