简单地说,我想为一个R项目做一个C#前端。
我想使用我在C#代码中使用RDotNet定义的一个R项目中定义的函数,但是在谷歌中的广泛搜索并没有产生任何结果(顺便说一句,这个问题似乎也没有被问到,所以我知道我可能在这里遇到了一个“你没有看到明显的”问题……但是,如果是这样的话,我几个小时都看不到显而易见的东西!)
更具体而言:
rEngine.Evaluate("source('Script.R')"); in RFrontEnd的东西来访问我用Script.R编写的代码以下几点:
rEngine.Evaluate("source('C:\<Project Address Here>\Script.R')");中那样,但这使得我的项目依赖于文件系统中R文件的特定位置。我知道我可以让这个位置成为我可以放置在一个配置文件中的一个参数,但是必须有一个更优雅、内置的解决方案.对吗?source('Script.R')并正常加载我的函数版本规格:
有人能帮我吗?
谢谢,干杯!
发布于 2018-07-19 16:22:41
我突然想到,您可以将文件链接到一个项目,这样我就可以将指向我的.R文件的链接放到我的C#项目中,并将它们复制到项目输出的一个文件夹中。
这是通过使用Alt键从R项目中拖动.R文件,并将它们放在我的C#项目中的某个位置(优先放在正确命名的项目文件夹中),然后转到新链接的.R文件的属性并将其设置为复制到项目的输出(这是绝对必要的,因为链接不是真正的文件,并且在构建项目时不会位于预期的文件系统文件夹中,除非文件被标记为在构建上复制)。
这不是我所期望的优雅的解决方案,但它确实将我的.R文件带到一个已知的固定位置,即使我必须将我的项目部署到其他地方,这样我就可以执行类似rEngine.Evaluate("source('R Scripts/Script.R')");的操作,并使我的函数在rEngine.Evaluate("source('R Scripts/Script.R')");代码中正确地设置为在R环境中运行(通过RDotNet),同时仍然能够在R项目中正确地编辑它们,并在那里找到所有的语言支持。
尽管如此,如果有一个更好的解决办法,在某人的知识,请带来它!
https://stackoverflow.com/questions/51424811
复制相似问题