库中的错误(data.table):没有名为'data.table'的包

时间:2017-04-28 14:51:03

标签: c# r iis r.net

我们在IIS上创建了一个调用R脚本的Web服务。 R脚本包括一些库,如:data.table,插入符号以及更多。 R返回一个无法找到data.table库的错误:

  

“库中的错误(data.table):没有调用包   'data.table'”。

我们确认data.table包安装在:"C:\Program Files\R\R-3.3.3\library\data.table"中。当我们运行.libPaths()来检查R尝试从哪里加载库时,它返回这是文件夹“C:/ Program Files / R / R-3.3.3 / library”。

它在Visual Studio 2017单元测试中甚至在控制台应用程序环境中都能成功运行。所以问题是为什么不能在IIS中加载data.table库?

我们使用以下软件版本:

  • R for Windows 3.3.3
  • Internet Information Services版本10.0.14393.0
  • RDotnet社区1.6.5

C#代码:

R = REngine.GetInstance();
R.Initialize();
R.Evaluate("install.packages('data.table', repos='http://cran.us.r-project.org', dependencies = TRUE)");
R.Evaluate("library(data.table)");

1 个答案:

答案 0 :(得分:0)

我们决定切换到'Microsoft R Open'(MRAN)而不是R for Windows(CRAN)。这为我们解决了很多问题。我们无法让CRAN与IIS合作。

我们只需要对MRAN做的就是让用户在“C:\ Program Files \ Microsoft \ R Open \ library”上对库文件夹的修改访问运行IIS应用程序。这需要在我们的应用程序中启用R-engine来安装R库。