2015-01-13 30 views
0

一方面,我有一个用R开发的平台,它由用于生成报告的许多用户定义的函数组成,使用输入矩阵和参数。如何从c#R.net调用用户定义的函数(在.rdata文件中)?

另一方面,我通过c#平台管理我的数据流。

我想要做的是叫我R平台从c#什么:调用一个Rdata文件中定义的函数到我c#代码(处理我的所有数据矩阵)。

我熟悉RdotNet并用它来调用用户定义的函数,但这些函数在我的c#代码本身中定义,而我需要调用Rdata文件中的函数。

在此先感谢。

+0

请参见[是否有可能调用用户定义(自定义)R功能,从在C#?](http://stackoverflow.com/questions/14789417/is-it-possible-to-call-a-user-defined-custom-r-function-from-within-c) – iled

回答

2

从R.NET调用的R函数不限于.NET中的字符串创建的函数。如果您定义并保存在R上的函数定义:

f <- function() {"Hello World"} 
save(f, file='f.RData') 

然后在C#中,你只需做一些像

static void stackoverflow_27924923_2752565 (REngine engine) 
{ 
    engine.Evaluate ("load('~/f.RData')"); 
    var s = engine.Evaluate ("f()").AsCharacter()[0]; 
    Console.WriteLine(s); 
} 
+0

谢谢,这正是我需要什么。 – ylnor

相关问题