R.NET使用文档
介绍
本页面涉及R.NET1.5.13。 1.5.13版本在功能上等同于1.5.12,但可作为一个包在NuGet.org上获得。
R.NET使.NET框架与R统计语言在同一进程进行互操作。 R.NET需要.NET Framework 4的并有R环境中安装的本地的DLL。您可以使用R.NET用在.NET的任何语言(它已被用于至少C#,F#,Vb.NET,IronPython中)。你使用这个文档之前有几个相关的事项都必须被提及。对于F#,你应该考虑F# - [R提供商。一个动机释放1.5.13对于RProvider更轻松地管理R.NET依赖。
入门
这个网页主要介绍R.NET是众所周知的跨平台运行。
作为1.5.10版本,R.NET二进制文件是平台无关的。您可能需要设置一些Linux发行版的小附加的解决方法(CentOS的是已知的),但你可以使用的。R.NET二进制文件来移动和跨平台。
Visual Studio中
如果您正在使用从zip文件分发二进制文件,解压缩文件和内容复制到您选择的位置。添加项目引用到RDotNet.dll和RDotNet.Native.dll“通常”的方式。
NuGet是首选的方式来管理R.NET依赖性。
如果您正在使用的NuGet包:
首先,您必须安装,如果你有没有准备好,通过工具的的NuGet包管理器 - 扩展和更新:
Visual Studio中
如果您正在使用从zip文件分发二进制文件,解压缩文件和内容复制到您选择的位置。添加项目引用到RDotNet.dll和RDotNet.Native.dll“通常”的方式。
的NuGet是首选的方式来管理R.NET依赖性。
如果您正在使用的NuGet包:
首先,您必须安装,如果你有没有准备好,通过工具的的NuGet包管理器 - 扩展和更新:
您可以添加R.NET包作为一个依赖于一个或多个项目在您的解决方案。对于一个项目:
请注意,你或许应该卸载软件包的依赖或R.NET1.5.5或更早的版本,如果预先存在的。
R.NET1.5.13使用不同的包装标识:R.NET.Community。请务必使用搜索R.NET上的NuGet最近条目:
该系统的NuGet然后增加了一些依赖。
您可以一气呵成的解决方案级别管理的几个项目:
你可以找到有关的NuGet在文档的NuGet更一般的信息
http://docs.nuget.org/
入门编码
R.NET1.5.10及以后的版本包括显著明显的变化,以缓解2块绊脚石,处理方式往往是由用户处理:路径与R共享库,并防止发动机多初始化。
下面的“Hello World”示例说明了如何使用新的API为90%的在Windows窗体上使用的情况下更简单:
static void Main(string[] args)
{
REngine.SetEnvironmentVariables(); // <-- May be omitted; the next line would call it.
REngine engine = REngine.GetInstance();
// A somewhat contrived but customary Hello World:
CharacterVector charVec = engine.CreateCharacterVector(new[] { "Hello, R world!, .NET speaking" });
engine.SetSymbol("greetings", charVec);
engine.Evaluate("str(greetings)"); // print out in the console
string[] a = engine.Evaluate("'Hi there .NET, from the R engine'").AsCharacter().ToArray();
Console.WriteLine("R answered: '{0}'", a[0]);
Console.WriteLine("Press any key to exit the program");
Console.ReadKey();
engine