如何通过 VBnet( 或 C#) 与 R 通信

本文关键字:通信 何通过 VBnet | 更新日期: 2023-09-27 18:35:28

最近,我用 VB.net(在Windows平台)开发了一个实验应用程序,当应用程序收集数据时,我想用R来分析数据,但我不知道如何与R通信(换句话说,我想在自己的应用程序中将R脚本发送给R)。如果有人能给我一些建议或一些参考文件,我将不胜感激。 谢谢!

如何通过 VBnet( 或 C#) 与 R 通信

我建议你试试 R.NET。简介说:

R.NET 使.NET Framework能够与R统计进行协作 计算机科学。R.NET 需要安装 .NET Framework 4 和本机 DLL 与 R 环境。您不需要其他额外的安装。享受 使用 R 使用您的特殊语言进行统计和编程。

它是一个开源绑定,似乎比 statconn 工具简单一些,因为它不通过 DCOM。LGPL许可,因此也可用于商业用途。你可以与Excel-DNA结合,通过.NET向Excel公开R——这里有一些讨论:http://www.r-bloggers.com/yet-another-way-to-use-r-in-excel-for-net-programmer/。

statconn 和 R.Net 的替代方法是使用 mt4r dll,只需将 cMT4R C# 类放入项目中并开始使用 R。我使用过statconn,并且仍然经常使用传递数据的速度。我一直想不通 R.Net。

但是,如果您尝试使用最简单的安装来启动和运行,请查看以下链接,其中描述了MT4R的界面和安装。在项目中包含 C# 类后,只需使用计算机的 R 路径更新该类,DLL 将完成繁重的工作。类界面直观且易于使用。

https://sites.google.com/site/marketformula/vb6-to-c/vb6-to-c-downloads/calling-r-from-csharp-dotnet

还有一个 VB6 类可用(在上面的帖子中链接),如果有人仍在使用 VB6 或使用 VBA,并且想要一种通过简单安装快速启动和运行 R 的方法。

包含一个简单的演示应用程序,演示如何将数据从 C# 发送到 R。

为此,请使用 StatConn DCOM 库而不是 R.NET。根据我自己的经验,它比 .NET 库稳定得多。

为此,您需要安装 R,从任何 CRAN 存储库添加扩展 rcom 和 rsproxy 并安装 StatConn DCOM。安装这些连接后,你可以通过 DCOM 包附带的那些示例程序检查 R 连接是否正常工作。

如果这些都有效,您可以通过Visual Studio将所有statconn引用添加到您的.NET项目中。

祝你好运