要从我的.Net网站利用R,我正在使用R.Net(1.5.13)。 在某种程度上,这对我来说很好,但是当我试图引用一个外部R包(包:tm)时,我遇到了很大的麻烦。
以下C#代码:
REngine engine = null;
REngine.SetEnvironmentVariables();
engine = REngine.GetINstance();
engine.Initialize();
engine.Evaluate(".libPaths('C:/Users/Laptop/Documents/R/win-library/3.1')");
engine.Evaluate("library(tm)");
导致:包或命名空间加载失败,形式为'tm'
来自RStudio的命令 library(tm)无任何例外地工作。
我尝试了以下步骤来解决此问题:
但到目前为止似乎没有任何帮助。
有人可以帮我解决这个讨厌的问题吗?
来自 sessionInfo()的一些信息:
R版本:3.1.0(2014-04-10)
平台:x86_64_w64_mingw32 / x64(64位)
其他附件包: [1] tm_0.5-10
答案 0 :(得分:0)
在codeplex网站here和here上记录的最后两个问题与此问题有关:从IIS Web应用程序运行R.NET是一个众所周知的长期问题。值得庆幸的是,最近skyguy94已对该问题做了最好的诊断和解释,据我所知提出了一种解决方法。你应该试一试。
未来版本的R.NET可能会提供一种更简单的方式来容纳IIS,但这取决于已经很忙的志愿者。同时,我将更新主页以标记在IIS下运行的烦恼问题。
答案 1 :(得分:0)
在错误中显示的包之后,可能还有其他基本包可能会失败。
在我的情况下,matrixStats失败但在后台统计数据无法加载,而且失败了,因为它试图在统计数据库中找到核心R dll。
我已从其他帖子中解决了该问题:http://author-entry17.rssing.com/chan-9456546/all_p43.html
您必须将dll从架构文件夹复制到包路径中作为解决方法。
即在C:\ Program Files \ R \ R-3.1.0 \ bin \ i386或C:\ Program Files \ R \ R-3.1.0 \ bin \ x64
中复制dll到
R \ R-3.3.1 \ library \ stats \ libs \ x64或R \ R-3.3.1 \ library \ stats \ libs \ i386
作为一种解决方法。