2015-01-13 27 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

相關問題