3

我正在使用 C# 创建一个控制台应用程序,我必须使用 R.NET 进行一些数据分析。我已经创建了多个我将使用的 R 函数,并在 RStudio 中对其进行了测试,一切正常。假设我的源文件有一个名为“delete”的函数,它以向量作为参数。

1-现在我想将包含我的函数的 R 源文件导入到我的控制台应用程序中,以便能够直接从那里调用这些函数。我找到了这段代码:

using RDotNet;
{ ....
REngine engine = REngine.GetInstance();
engine.Evaluate("source('PATH/file.R");
... }

它没有出现任何错误,但我不确定它是否有效。现在,如果我想执行我的功能“删除”,那命令是什么?

2-源文件现在位于我的桌面上,但我希望我的应用程序可以在任何计算机上运行,​​那么如何将我的 R 源文件添加到 VS 项目以使其可移植?

4

1 回答 1

0

我遇到了这个问题,经过数小时的搜索,我意识到 C# 不喜欢为 R 文件提供的路径,因为它使用斜杠作为转义键。

在每个目录前面添加 4 个反斜杠后,以下路径对我有用:

using RDotNet;
using System;

namespace SimpleScriptingTest
{
    class Program
    {
        static void Main(string[] args)
        {            
            REngine.SetEnvironmentVariables();

            REngine engine = REngine.GetInstance();

            engine.Initialize();
            var path = "C:\\\\Program Files\\\\R\\\\RWDir\\\\HelloWorldTest.R";
            engine.Evaluate("source('" + path + "')");
            Console.ReadLine();
        }

    }
}
于 2017-02-14T20:02:37.723 回答