如何从 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);
}
一方面,我有一个用 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);
}