【发布时间】:2018-07-19 14:08:55
【问题描述】:
简单地说,我想为一个 R 项目做一个 C# 前端。
详细说明:我想使用我在使用 RDotNet 的 C# 代码中的 R 项目 (RTVS) 中定义的函数,但在 Google 中进行的广泛搜索没有产生任何结果(顺便说一句,似乎连问题都不是问了,所以我知道我可能在这里遇到了“你没有看到明显的”问题......但是,如果是这样,我几个小时都没有看到明显的问题!)。
更具体一点:
- 我有一个名为 RLab 的 R 项目
- 在同一个解决方案中,我有一个名为 RFrontEnd 的 C# 项目
- 在 RFrontEnd 我有使用 RDotNet 执行 R 代码的 C# 方法
- 在 RLab 中,我有一个名为 Script.R 的 R 文件,其中包含我想在 RFrontEnd 中使用的 R 代码
- 我想在 RFrontEnd 中使用
rEngine.Evaluate("source('Script.R')");之类的东西来访问我在 Script.R 中编写的代码
几点:
- 我不能简单地在 C# 项目中引用 R 项目
- 我可以通过指向 R 解决方案中的文件来运行项目,如
rEngine.Evaluate("source('C:\<Project Address Here>\Script.R')");,但这使我的项目依赖于文件系统中 R 文件的特定位置。我知道我可以让这个位置成为我可以放在配置文件中的参数,但必须有一个更优雅的内置解决方案......对吗? - 在 RInteractive 窗口中,我可以简单地使用
source('Script.R')并且我的函数可以正常加载
版本规格:
- RDotNet 版本为 1.7.0
- Microsoft R Open 版本为 3.4.4
- R Tools for Visual Studio 版本为 1.3
- Visual Studio 版本是 Community 2017
谁能帮帮我?
感谢和欢呼!
【问题讨论】: