如何从 c# R.net 调用用户定义的函数(在 .rdata 文件中)
本文关键字:函数 rdata 文件 定义 net 用户 调用 | 更新日期: 2023-09-27 18:37:25
我一方面有一个
用R开发的平台,由许多用于生成报告的用户定义函数组成,使用矩阵和参数作为输入。
在另一个中,我通过c#
平台管理我的数据流。
我想做的是从c#
调用我的R
平台:将Rdata
文件中定义的函数调用到我的c#
代码(处理我的所有数据矩阵)。
我熟悉RdotNet
并使用它来调用用户定义的函数,但这些是在我的c#
代码本身中定义的函数,而我需要调用Rdata
文件中的函数。
提前谢谢。
从
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);
}