1. 程式人生 > >R語言與.net 集成開發入門

R語言與.net 集成開發入門

from test args enc cannot nbsp 控制 instance pre

首先:R語言的基本教程:

https://www.yiibai.com/r/r_environment_setup.html

下載R語言的安裝包:https://cran.r-project.org/bin/windows/base/old/3.4.1/

新建:vs工程控制臺

技術分享圖片

添加nuget包:R.net

技術分享圖片

添加測試代碼:

 static void Main(string[] args)
        {
            REngine.SetEnvironmentVariables();
            // There are several options to initialize the engine, but by default the following suffice:
            REngine engine = REngine.GetInstance();

            // .NET Framework array to R vector.
            NumericVector group1 = engine.CreateNumericVector(new double[] { 30.02, 29.99, 30.11, 29.97, 30.01, 29.99 });
            engine.SetSymbol("group1", group1);
            // Direct parsing from R script.
            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.
            GenericVector testResult = engine.Evaluate("t.test(group1, group2)").AsList();
            double p = testResult["p.value"].AsNumeric().First();

            Console.WriteLine("Group1: [{0}]", string.Join(", ", group1));
            Console.WriteLine("Group2: [{0}]", string.Join(", ", group2));
            Console.WriteLine("P-value = {0:0.000}", p);

            // you should always dispose of the REngine properly.
            // After disposing of the engine, you cannot reinitialize nor reuse it
            engine.Dispose();
            Console.ReadKey();
        }

  運行結果:

技術分享圖片

R語言與.net 集成開發入門