我希望使用 R.NET 来执行现有的 R 脚本,但没有成功。这真的可能吗?我已经成功运行了示例代码,所以我的基本设置没问题。
我的代码如下所示:
static void RTest()
{
var envPath = Environment.GetEnvironmentVariable("PATH");
var rBinPath = System.Environment.Is64BitProcess ? @"C:\Program Files\R\R-3.0.1\bin\x64" : @"C:\Program Files\R\R-3.0.1\bin\i386";
Environment.SetEnvironmentVariable("PATH", envPath + Path.PathSeparator + rBinPath);
using( var engine = REngine.CreateInstance("RDotNet") )
{
engine.Initialize();
using( var fs = File.OpenRead(@"C:\R-scripts\r-test.R") )
{
engine.Evaluate(fs);
}
}
}
我在控制台应用程序中运行以进行测试(最终我想让它在 Web 应用程序的服务器端运行)。
r-test.R 脚本在 RStudio 中运行时有效,因此那里没有问题,应该会导致将 csv 文件写入磁盘。我确实看到一些“正在加载所需的包”消息输出到控制台,所以有些东西正在工作,但没有出现生成的 csv 文件。