RDotNet 函数添加两个用户定义的输入给出错误

RDotNet function to add two user defined inputs giving errors

我在 ASP.NET MVC5 应用程序中编写了以下控制器函数,以 return 使用 R 函数 sum() 计算 2 个用户定义输入的总和。这编译成功但不提供任何输出。 由于 ajax 函数失败,它给出 500(内部服务器错误)。

谁能告诉我哪里出错了?

public JsonResult Sum(int? Text1,int? Text2)
{
    REngine.SetEnvironmentVariables(); //
    REngine engine = REngine.GetInstance();

    return Json(engine.Evaluate("function(Text1,Text2) 
     {sum(Text1,Text2)}").AsFunction(), JsonRequestBehavior.AllowGet);
}

我自己解决了这个问题。 controller函数的正确代码片段如下:

var mySum = engine.Evaluate("function(x,y){return (x+y)}").AsFunction(); 
var v = engine.CreateInteger(Text1); 
var u = engine.CreateInteger(Text2);
var sum1 = mySum.Invoke(new SymbolicExpression[] { u, v }).AsInteger();    
return Json(sum1, JsonRequestBehavior.AllowGet); } 

由于你们中的许多人给我发消息要求 rdotnet 应用程序的示例代码,我在我的博客上发布了一个示例代码和解释: wordpress.com/post/pheonix116s.wordpress.com/169

希望大家觉得有用。