C#中调用简单的R语言

来源:互联网 发布:java reflection 实例 编辑:程序博客网 时间:2024/06/07 03:07
      添加  using RDotNet;
            RDotNet.REngine.SetEnvironmentVariables();//设置R语言运行环境//<span style="font-family: Arial, Helvetica, sans-serif;">REngine.SetEnvironmentVariables(null, null);</span>            var v = RDotNet.REngine.GetInstance();//得到R语言实例//REngine engine = REngine.GetInstance(null, true, null, null);            v.Initialize();//初始化//<span style="font-family: Arial, Helvetica, sans-serif;">engine.Initialize(null, null, true);</span>            double[] cpiDou = { 99.89, 100.01, 100.2 };            double[] gdpDou = { 351564.8167, 230025.5833, 108486.35 };            double[] preDou = { 77498269.32, 140859820.9, 53267665.13 };            double[] incDou = { 15506102, 14774593, 12597942 };            RDotNet.NumericVector x1 = v.CreateNumericVector(cpiDou);            v.SetSymbol("x1", x1);            RDotNet.NumericVector x2 = v.CreateNumericVector(gdpDou);            v.SetSymbol("x2", x2);            RDotNet.NumericVector x3 = v.CreateNumericVector(preDou);            v.SetSymbol("x3", x3);            RDotNet.NumericVector x4 = v.CreateNumericVector(incDou);            v.SetSymbol("x4", x4);            v.Evaluate("y1 = log(x1)");            v.Evaluate("y2 = log(x2)");            v.Evaluate("y3 = log(x3)");            v.Evaluate("y4 = log(x4)");            v.Evaluate("m1=lm(y1~y2+y3+y4)").AsList();            RDotNet.NumericVector dd = v.Evaluate("summary(m1)$coefficients").AsNumeric();//dd即表示返回值C#操作

0 0
原创粉丝点击