C# Can';来自R.Net的t参考外部R包

C# Can';来自R.Net的t参考外部R包,c#,r,package,external,C#,R,Package,External,为了从我的.Net网站上利用R,我正在使用R.Net(1.5.13)。 从某种程度上说,这对我来说很好,但当我尝试引用外部R包(包:tm)时,我遇到了很大的麻烦 以下C#代码: 导致:包或命名空间加载失败,格式为“tm” 在RStudio中,命令库(tm)可以正常工作 我尝试了以下步骤来解决此问题: R的重新安装 从R studio更新包 将“C:/Users/Laptop/Documents/R/win library/3.1”添加到R_LIBS、R_LIBS_用户和R_LIBS_站点 但

为了从我的.Net网站上利用R,我正在使用R.Net(1.5.13)。 从某种程度上说,这对我来说很好,但当我尝试引用外部R包(包:tm)时,我遇到了很大的麻烦

以下C#代码:

导致:包或命名空间加载失败,格式为“tm”

在RStudio中,命令库(tm)可以正常工作

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

  • R的重新安装
  • 从R studio更新包
  • 将“C:/Users/Laptop/Documents/R/win library/3.1”添加到R_LIBS、R_LIBS_用户和R_LIBS_站点
但到目前为止似乎没有任何帮助

有人能帮我解决这个棘手的问题吗?

sessionInfo()中的一些信息:

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

平台:x86_64_w64_mingw32/x64(64位)

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

codeplex站点记录的最后两个问题与此问题有关:从IIS web应用程序运行R.NET是一个已知的长期问题。谢天谢地,最近对这个问题做了最好的诊断和解释,据我所知,他提出了一个解决办法。你应该试一试


未来版本的R.NET可能会提供一种更简单的方式,呃,容纳IIS,但这取决于已经很忙的志愿者的时间。同时,我将更新主页,以标记在IIS下运行的棘手问题。

在错误中显示的包之后,可能还有其他基本包失败

在我的例子中,matrixStats失败了,但是在后台,stats无法加载,这失败了,因为它试图在stats库中找到核心R DLL

我在另一篇文章中解决了这个问题:

作为一种解决方法,您必须将DLL从architecture文件夹复制到包路径中

ie在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


作为一种解决方法。

重复?你真的能在R中使用这个包吗?(在R.NET/C之外)它真的是“getINstance”吗?因为这让我觉得你没有剪切粘贴实际的代码,也没有发布产生实际问题的实际代码。发布一个你认为应该有效的最小失败示例,而不仅仅是一个六行代码片段。Flick,是的,我们可以在R中使用这个包,没有任何问题。这似乎是R.Net中或R.Net与R.Spacedman之间的问题,实际的源代码是:
string path=System.Environment.GetEnvironmentVariable(“path”);path=@“C:\Program Files\R\R-3.1.0\library;”+@“C:\Program Files\R\R-3.1.0\bin\i386;”+路径;System.Environment.SetEnvironmentVariable(“路径”,路径);REngine.SetEnvironmentVariables();engine=REngine.GetInstance();engine.Initialize();引擎。评估(“库(tm)”Skyguy94,谢谢!我明天一定要试一试。
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)");