我在我的 c# 项目中使用 R.Net 和 R.Net.Community 包来启用 R 脚本。我有 ac# 类如下:
foreach(var item in list)
{
callR(item);
}
以及另一个类中运行 R 脚本的方法:
CallR(int item)
{
//init the R engine
REngine.SetEnvironmentVariables();
engine = REngine.GetInstance();
engine.Initialize();
//Perform R
engine.SetSymbol("data", item);
engine.Evaluate("data<-data*data");
//engine.dispose
//Cannot use engine.dispose as re initialization of engine then, is not possible
}
编辑 我有另一个调用相同 R 方法的第三类。如果我在创建循环的类中实例化它,那么如何在这个类中使用该初始化?
问题:此代码在本地运行良好,但是在服务器上部署它时,它会中断并给出异常:“无法加载库统计信息”。
在深入搜索时,我发现这表明多次初始化 Rengine 会导致此问题。
因此我的问题是如何在应用程序启动时只初始化一次 Rengine 并在我上面的代码这样的场景中使用它的实例?