gpt4 book ai didi

c# - 无法从 R.NET 获取 REngine 实例

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:24 25 4
gpt4 key购买 nike

我正在尝试使用 R.NET v1.5.12 进行设置,我运行这段代码作为测试,目的是在进入我的项目之前创建和初始化对象。

string rHome = @"C:\Program Files\R\R-3.0.2";
string rPath = Path.Combine(rHome, @"bin\i386");

REngine.SetEnvironmentVariables(rPath, rHome);

REngine engine = REngine.GetInstance();

engine.Initialize();

Console.WriteLine("So far, so good.");

engine.Dispose();

Console.ReadKey();

该代码没有产生任何异常,但在它尝试使用 REngine.GetInstance() 获取 R 实例时静默失败。没有任何内容写入控制台,并且控制台不会等待按键。 Visual Studio 告诉我 XX.vshost.exe 以代码 2 退出,但没有说明任何其他内容。

有没有人有任何见解?我想这不是路径问题,因为我明确设置了 R 路径。

最佳答案

我遇到了同样的问题。调用 REngine.GetInstance() 使整个进程以代码 2 静默退出。

我调查了R.NET和R3.2.2的源代码,然后发现:

  1. REngine.GetInstance()调用R.dll中的原生函数setup_Rmainloop()
  2. setup_Rmainloop() 在无法打开“base”库文件时调用 exit()“%R_HOME%/library/base/R/base”,退出代码为 2。

我建议您检查 fopen("%R_HOME%/library/base/R/base", "r")(或任何等效代码)是否失败。

关于c# - 无法从 R.NET 获取 REngine 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23619601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com