2016-07-12 2 views
0

Я установил R.NET.Community через диспетчер пакетов NuGet и добавил следующий код (чтобы все началось), но я продолжаю получать ошибку на линии Rengine.SetEnvironmentVariables(); код даже не продвигается вперед.Исключение при использовании R Engine в Rdotnet

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using RDotNet; 

namespace WF_CRM_R 
{ 
    public class CrmLogic 
    { 
     public void GetCrmOutput(Dictionary<int, List<double>> crmInput) 
     { 
      REngine.SetEnvironmentVariables(); 
      REngine engine = REngine.GetInstance(); 

      double[,] input = new double[crmInput[0].Count, crmInput.Count]; 

      for (int i = 0; i < crmInput.Values.Count; i++) 
      { 
       for (int j = 0; j < crmInput.Count; j++) 
       { 
        input[i, j] = crmInput[crmInput.Keys.ElementAt(i)].ElementAt(j); 
       } 
      } 
      var rMatrix = engine.CreateNumericMatrix(input); 
      engine.SetSymbol("my.data.matrix.inj", rMatrix); 
      engine.Evaluate("source('D:/R/Learning R/CRM_TestData_R_Ver5.R')"); 
      var output = engine.GetSymbol("my.data.matrix.inj").AsNumeric(); 
     } 
    } 
} 

Скриншот ошибки приведен здесь. enter image description here

Это простой тест Rdotnet, и я не могу понять, что не так!

ответ

1

Я быстро погружение в документацию из R.NET и нашел следующее:

SetEnvironmentVariables, на Windows, смотрит на параметры реестра , созданных установщиком R.

Итак, из этого я понимаю, что вам нужно сначала установить R, прежде чем вы сможете использовать R.NET. Я предполагаю, что сам R не установлен (правильно).

+0

Спасибо! Я снова проверил. Удалите R и переустановите его через другое зеркало. Это сработало. – Modi

 Смежные вопросы

  • Нет связанных вопросов^_^