R Provider alternatives and similar packages
Based on the "Machine Learning and Data Science" category.
Alternatively, view R Provider alternatives based on common mentions on social networks and blogs.
-
Accord.NET
DISCONTINUED. Machine learning framework combined with audio and image processing libraries (computer vision, computer audition, signal processing and statistics). -
TensorFlow.NET
.NET Standard bindings for Google's TensorFlow for developing, training and deploying Machine Learning models in C# and F#. -
m2cgen
Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies -
AForge.NET
AForge.NET Framework is a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, machine learning, robotics, etc. -
Deedle
Easy to use .NET library for data and time series manipulation and for scientific programming -
Accord.NET Extensions
DISCONTINUED. Advanced image processing and computer vision algorithms made as fluent extensions. -
Catalyst
๐ Catalyst is a C# Natural Language Processing library built for speed. Inspired by spaCy's design, it brings pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models. -
SciSharp STACK
A rich machine learning ecosystem for .NET created by porting the most popular Python libraries to C#.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of R Provider or a related project?
README
F# R Provider
An F# type provider for interoperating with R. For more information, see detailed documentation with tutorials, examples and more. The following tutorials are a good place to start:
The R Provider discovers R packages that are available in your R installation and makes them available as .NET namespaces underneath the parent namespace RProvider. For example, the stats package is available as RProvider.stats. If you open the namespaces you want to use, functions and values will be available as R.name.
Builds
GitHub Actions |
---|
NuGet
Package | Stable | Prerelease |
---|---|---|
RProvider |
Requirements
Make sure the following requirements are installed on your system:
- dotnet SDK 5.0 or greater; and
- R statistical language. Note: on Windows, there is currently a bug in R preventing us from supporting R versions greater than 4.0.2.
- R_HOME environment variable set to the R home directory. This can usually be identified by running the command 'R RHOME'.
Note: for .NET framework support, you should use the legacy RProvider 1.2 or earlier; we are no longer supporting these versions.
What does it do?
The R Provider discovers R packages that are available in your R installation and makes them available as .NET namespaces underneath the parent namespace RProvider. For example, the stats package is available as RProvider.stats. If you open the namespaces you want to use, functions and values will be available as R.name. For example, consider this F# interactive script:
#r "nuget:RProvider"
open RProvider
open RProvider.``base``
let v = R.c(1,2,3)
This creates an R numeric vector containing 1,2,3, and names it v. Note that we had to open the base namespace, since the function 'c' is part of that namespace. You should also open namespace RProvider, because it contains some helper functions. As type providers are used by Visual Studio and other IDEs, you will get intellisense for R functions. You will also get compile-time type-checking that the function exists.
Note that you can set the version of RProvider to use (for reproducability) by changing the #r line to:
#r "nuget:RProvider,2.0.3" //replace 2.0.3 with desired version
How to use
RProvider is distributed as a NuGet package, which can be used from an F# script or F# projects. See our documentation for more detailed information and tutorials.
If you are using R 2.15 or later, you should not try to load the RProvider inside a script that is passed to FSI via the --use flag. It seems that something about the way R initializes causes it to hang in that context. Works fine if you load later.
Developing
Install the requirements listed in the above section. To build and test:
- Restore dotnet tools:
dotnet tool restore
- Run FAKE:
dotnet fake build -t All
To debug, enable logging by setting the RPROVIDER_LOG environment value to an existing text file.
License
RProvider is covered by the BSD license.
The library uses RDotNet which is also covered by the BSD license.
Maintainers
*Note that all licence references and agreements mentioned in the R Provider README section above
are relevant to that project's source code only.