我无法使用 R.Net 调用我自己的 R 函数;我在一些 R 脚本 myScript.R, ... 中有几个用户定义的函数,我想使用 R.net 调用这些函数
这就是我到目前为止所拥有的
一个 myScript.R 文件包含几个这样的函数
userDefinedFunctionOne <- function(parameter1, parameter2)
{
.
.
.
}
userDefinedFunctionTwo <- function(parameter1, parameter2, ...)
.
.
.
并且使用 R.Net,在我的类的构造函数中,我创建了 REngine 类的实例
private REngine engine;
public MyClass()
{
this.engine = REngine.GetInstance();
}
然后我获取 myScript.R 文件
this.engine.Evaluate(@"source('C:/RScripts/myScript.R')");
但是当我这样调用我的函数时
var dataframe = this.engine.Evaluate(string.Format("dataframe <- userDefinedFunctionOne(parameter1 = {0}, parameter2 = {1})",
value1,
value2)).AsDataFrame();
我收到此错误
错误:找不到函数“userDefinedFunctionOne”
当用户函数像这样定义时,我发现了一些示例
Function data = engine.Evaluate(@"data <- function(a,b){
c = a %*% b;
return(c);
}").AsFunction();
但我想避免这种情况,因为正如我所写,我的 R 脚本文件中有几个函数
有没有办法在不将我的 R 函数重写为字符串的情况下做到这一点???
我会感谢任何帮助,谢谢