Po pewnych badaniach sam znalazłem odpowiedź.
1) Otwórz istniejący lub nowy projekt w MS Visual Studio.
2) Zainstaluj R.NET (Nuget) http://rdotnet.codeplex.com
Instalacja jest prosta: Menu: Visual Studio (2012)> Biblioteka Package Manager> Pakiet konsoli Menedżer typu "Install-Package R.NET"
3) Inicjalizuj funkcję w R i nazwać C# Patrz http://rdotnet.codeplex.com/documentation dla typów danych w R
using RDotNet;
class Program
{
static void Main(string[] args)
{
// Set the folder in which R.dll locates.
var envPath = Environment.GetEnvironmentVariable("PATH");
// check the version and path on your computer
var rBinPath = @"C:\Program Files\R\R-2.14.1\bin\x64";
Environment.SetEnvironmentVariable("PATH", envPath + System.IO.Path.PathSeparator + rBinPath);
using (REngine engine = REngine.CreateInstance("RDotNet"))
{
// Initializes settings.
engine.Initialize();
// create an R function
// R style
// See: http://rdotnet.codeplex.com/wikipage?title=Examples&referringTitle=Home
Function matrix_mult = engine.Evaluate(@"matrix_mult <- function(a,b){
c = a %*% b;
return(c);
}").AsFunction();
NumericMatrix d = engine.Evaluate(@"d <- matrix_mult(a,b)").AsNumericMatrix();
Console.WriteLine("Matrix d:");
engine.Evaluate("print(d)");
// convert NumericMatrix of R to double[,] of .net
double[,] darr = new double[d.RowCount, d.ColumnCount];
d.CopyTo(darr, d.RowCount, d.ColumnCount);
Console.ReadKey();
}
}
}
[tutaj] (http://cran.r-project.org/doc/manuals /r-release/R-exts.html#The-R-API) jest łączem do sekcji * R * podręcznika na * C * intefacing z * R *. Używając P/Invoke, powinno być dość łatwo zastosować odpowiednie wywołania z C#. –
Czy możesz podać nam więcej informacji na temat kontekstu i powodów, dla których chcesz wywołać formularz R C#? – agstudy
@agstudy w celu użycia funkcji macierzy zapisanej w R z konstrukcją funkcji routera w .net http://finaquant.com/function-router/2802 – tuncalik