我已经通过NuGet包管理器安装了R.NET.Community
并添加了以下代码(以便开始)但我在Rengine.SetEnvironmentVariables()
行时遇到错误;代码甚至没有前进。
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();
}
}
}
这是一个简单的测试Rdotnet,我无法理解什么是错的!
答案 0 :(得分:1)
我快速浏览了R.NET的文档,发现了以下内容:
在Windows上,
SetEnvironmentVariables
查看注册表设置 由R安装程序设置。
因此,我认为您需要首先安装R才能使用R.NET。我的猜测是R本身没有安装(正确)。