【发布时间】:2014-11-28 14:29:48
【问题描述】:
我正在尝试使用 RDotNet 将 C# 连接到 R。
以下代码是希望 R 计算两个数字的和,C# 将结果返回并显示在命令窗口中。
using System;
using RDotNet;
namespace rcon
{
class Program
{
static void Main(string[] args)
{
string dllPath = @"C:\Program Files\R\R-3.1.0\bin\i386";
REngine.SetDllDirectory(dllPath);
REngine.CreateInstance("RDotNet");
//REngine engine = REngine.GetInstanceFromID("RDotNet");
using (REngine engine = REngine.GetInstanceFromID("RDotNet"))
{
var x = engine.Evaluate("x <- 1 + 2");
Console.WriteLine(x);
}
}
}
}
但是当我尝试将命令发送到 R 并取回 x 中的值时,我收到了一个错误:
“InvalidOperationException 未处理”
“由于对象的当前状态,操作无效。”
如果我探索对象“引擎”,我会看到 IsRunning=false。
这可能是问题吗?我该如何解决这个问题才能与 R 接口?
【问题讨论】:
-
are you missing a "\"在这个string dllPath = @"C:\Program Files\R\R-3.1.0\bin\i386"的末尾