在完成了让 c#、R 在我们的 MVC Web 环境中工作的初步测试之后。我试图让以下代码工作(取自 -> http://rdotnet.codeplex.com/)
到目前为止,为了对此进行调查,我已经从 cmd 提示符启动了 R,并证明我可以在 R 中输入这些语句并获得结果,所以我知道 R 正在工作。我还运行了一个非常简单的“Hello World”示例,证明我可以启动 R 引擎并返回结果。
然后我想回答一个更复杂的问题,我想到了从 codeplex.com 页面做代码。做一些比打招呼更有价值的事情……
这是下面的片段。引擎已经创建,我知道在之前的测试中可以正常工作。
NumericVector group1 = Engine.Evaluate("group1 <- c( 30.02, 29.99, 30.11, 29.97, 30.01, 29.99)").AsNumeric();
NumericVector group2 = Engine.Evaluate("group2 <- c( 29.89, 29.93, 29.72, 29.98, 30.02, 29.98)").AsNumeric();
// Test difference of mean and get the P-value.
// what is in testResult
var testResult = Engine.Evaluate("t.test(group1, group2)").ToList();
此时它出错,我收到消息“应用程序中的错误”和以下堆栈跟踪......
at RDotNet.REngine.Parse(String statement, StringBuilder incompleteStatement)
at RDotNet.REngine.<Defer>c__Iterator4.MoveNext()
at System.Linq.Enumerable.LastOrDefault[TSource](IEnumerable`1 source)
at RDotNet.REngine.Evaluate(String statement)
所以我对此的多个问题是: -
codeplex页面中的示例是否错误?我没有做点什么吗?这是什么意思?我觉得“应用程序中的错误”并没有帮助我找到我应该做的事情......我应该尝试一些其他示例还是 Dieter Menne 在这个堆栈溢出问题中的观点是普遍的立场“无法从 c# 连接到 R " 我应该转向这里的 COM 方法http://www.codeproject.com/Articles/25819/The-R-Statistical-Language-and-C-NET-Foundations
虽然我对数学和统计而不是图形更感兴趣....我确实想让 RDotNet 工作....在 c#