如何从 c# R.net 调用用户定义的函数(在 .rdata 文件中)?

How to call a user defined function (in a .rdata file) from c# R.net?

一方面,我有一个用 R 开发的平台,由许多用户定义的函数组成,用于生成报告,使用输入矩阵和参数。

在另一个案例中,我通过 c# 平台管理我的数据流。

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

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

提前致谢。

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

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

然后在 C# 中,您只需执行类似

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