无法从R.Net引用外部R包

时间:2014-05-25 21:22:05

标签: c# r package external

要从我的.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)无任何例外地工作。

我尝试了以下步骤来解决此问题:

  • 重新安装R
  • 从R studio更新软件包
  • 将“C:/Users/Laptop/Documents/R/win-library/3.1”添加到R_LIBS,R_LIBS_USER和R_LIBS_SITE

但到目前为止似乎没有任何帮助。

有人可以帮我解决这个讨厌的问题吗?

来自 sessionInfo()的一些信息:

R版本:3.1.0(2014-04-10)

平台:x86_64_w64_mingw32 / x64(64位)

其他附件包: [1] tm_0.5-10

2 个答案:

答案 0 :(得分:0)

在codeplex网站herehere上记录的最后两个问题与此问题有关:从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

作为一种解决方法。