VS、C#配置R语言开发环境
R语言学习笔记(一)——在Vs、C#中配置R语言开发环境。
最近在学习小众的R语言,所以将遇到的问题记录下来供大家参考,不足之处欢迎大家交流指正。
至于R语言的介绍就不多说了,它集成了复杂的数学算法,将之封装成简单函数,开发者可以直接调用,使用得当绝对是一把利器。
配置前准备:
1.R语言安装包,因为是开源的所以大家可以直接去官网下载。https://cran.r-project.org/src/base/R-3/
官网最新版是3.6.1,我这是使用的是3.4.1。
安装包P地址
链接:https://pan.baidu.com/s/16Z4gD9uhIdDoqttkrJ7KBw
提取码:xbj2
注意:R语言的安装包版本要与下面的引用类库版本兼容,不然就会出现
engine = REngine.GetInstance(); engine = null的情况。
我这里使用的3.4.1与类库版本亲测兼容,大家嫌麻烦可以直接使用我的。但是版本最高支持.netFrameWork 4.5。
2.R环境的引用类库。
直接网盘奉献:
链接:https://pan.baidu.com/s/1wYSLbXDs3CD6hFp5tcPKHg
提取码:w2lo
正式开始:
一.打开下载好的安装包,注意:要用管理员权限打开。
然后一步一步下一步。







下一步安装即可。
二.打开VS,我这里是2012。
1.新建控制台
2.添加引用


3.可以将下面这段代码拷走测试
先设置R语言路径、环境,后进行函数调用。
这里给了两种测试代码。
static void Main(string[] args)
{
Program mypro = new Program();
mypro.ExcuteCode();
}
private REngine engine; #region 测试代码
public void ExcuteCode()
{
InitREngine();
#region Test1 using (engine = REngine.GetInstance(null, true, null, null))
{
engine.Initialize(); // required since v1.5
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.ReadKey(); #endregion #region Test2 // 初始化R环境
//engine = REngine.GetInstance(null, true, null, null); //// .NET Framework array to R vector.
//NumericVector group1 = engine.CreateNumericVector(new double[] { 30.02, 29.99, 30.11, 29.97, 30.01, 29.99 });
//engine.SetSymbol("group1", group1);
//// Direct parsing from R script.
//NumericVector group2 = engine.Evaluate("group2 <- c(29.89, 29.93, 29.72, 29.98, 30.02, 29.98)").AsNumeric(); //// Test difference of mean and get the P-value.
//GenericVector testResult = engine.Evaluate("t.test(group1, group2)").AsList();
//double p = testResult["p.value"].AsNumeric().First(); //Console.WriteLine("Group1: [{0}]", string.Join(", ", group1));
//Console.WriteLine("Group2: [{0}]", string.Join(", ", group2));
//Console.WriteLine("P-value = {0:0.000}", p); //// you should always dispose of the REngine properly.
//// After disposing of the engine, you cannot reinitialize nor reuse it
//engine.Dispose();
//Console.ReadKey(); #endregion }
#endregion #region 配置R环境
public void InitREngine()
{
var oldPath = System.Environment.GetEnvironmentVariable("PATH"); /////C:\Program Files\R\R-3.5.1\bin
var rPath = System.Environment.Is64BitProcess
? @"C:\Program Files\R\R-3.4.1\bin\x64"
: @"C:\Program Files\R\R-3.4.1\bin\i386";
if (Directory.Exists(rPath) == false)
{
throw new DirectoryNotFoundException(
string.Format("Could not found the specified path to the directory containing R.dll: {0}", rPath));
} var newPath = string.Format("{0}{1}{2}", rPath, System.IO.Path.PathSeparator, oldPath);
System.Environment.SetEnvironmentVariable("PATH", newPath);
// NOTE: you may need to set up R_HOME manually also on some machines
string rHome = "";
var platform = Environment.OSVersion.Platform;
switch (platform)
{
case PlatformID.Win32NT:
break; // R on Windows seems to have a way to deduce its R_HOME if its R.dll is in the PATH
case PlatformID.MacOSX:
rHome = "/Library/Frameworks/R.framework/Resources";
break;
case PlatformID.Unix:
rHome = "/usr/lib/R";
break;
default:
throw new NotSupportedException(platform.ToString());
} if (!string.IsNullOrEmpty(rHome))
{
Environment.SetEnvironmentVariable("R_HOME", rHome);
}
}
#endregion
持续更博中...
VS、C#配置R语言开发环境的更多相关文章
- R语言开发环境的搭建
1.R语言的下载 https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 2.R语言的安装 安装完后,打开R Console 输入 pie(c(0.9, 0.2, 0.3 ...
- R 语言开发环境搭建
R 语言在统计计算和画图方面有着显著的优势,因此在大数据领域也有其一席之地. 本文将演示怎样搭建R 语言开发环境. 搭建R 语言开发环境,主要有两个步骤: - 安装 R 到操作系统 - 安装支持 R ...
- R语言开发环境搭建
R语言开发环境搭建 一.环境 Win7 64bit系统 二.R软件下载 R 3.5.2 for Windows,官网:https://www.r-project.org/ RStudio 1.1.46 ...
- Eclipse平台下配置Go语言开发环境(Win7)
<Go语言编程>中写到:“从功能和易用性等方面考虑, Eclipse+GoEclipse.LiteIDE这两个环境在所有IDE里面是表现最好的”,所以笔者打算采用Eclipse+GoEcl ...
- VS Code配置Go语言开发环境
VS Code是微软开源的一款编辑器,插件系统十分的丰富.本文就介绍了如何使用VS Code搭建Go语言开发环境. VS Code配置Go语言开发环境 说在前面的话,Go语言是采用UTF8编码的,理论 ...
- VS Code配置Go语言开发环境(建议使用goland)
VS Code是微软开源的一款编辑器,插件系统十分的丰富.本文就介绍了如何使用VS Code搭建Go语言开发环境. VS Code配置Go语言开发环境 说在前面的话,Go语言是采用UTF8编码的,理论 ...
- Eclipse R语言开发环境搭建 StatET插件
StatET 官网 http://www.walware.de/goto/statet Installation 点击菜单栏 help --> Install New Software 配置R语 ...
- GO学习-(3) VS Code配置Go语言开发环境
VS Code配置Go语言开发环境 VS Code配置Go语言开发环境 说在前面的话,Go语言是采用UTF8编码的,理论上使用任何文本编辑器都能做Go语言开发.大家可以根据自己的喜好自行选择.编辑器/ ...
- CentOS6.8配置GO语言开发环境
Go语言是谷歌2009发布的第二款开源编程语言,Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程. 鉴于原来越多的开源项 ...
随机推荐
- 视频直播技术之iOS端推流
随着网络基础建设的发展和资费的下降,在这个内容消费升级的时代,文字.图片无法满足人们对视觉的需求,因此视频直播应运而生.承载了实时性Real-Time和交互性的直播云服务是直播覆盖各行各业的新动力.网 ...
- Storm 学习之路(五)—— Storm编程模型详解
一.简介 下图为Strom的运行流程图,在开发Storm流处理程序时,我们需要采用内置或自定义实现spout(数据源)和bolt(处理单元),并通过TopologyBuilder将它们之间进行关联,形 ...
- feign之间传递oauth2-token的问题和解决
在微服务架构里,服务与服务之间的调用一般用feign就可以实现,它是一种可视化的rpc,并且集成了ribbon的负载均衡能力,所以很受欢迎. 授权服务 在授权服务里,用户通过用户名密码,或者手机和验证 ...
- CSS3文本与字体
一.CSS3 换行 1.word-break(规定自动换行的处理方法) word-break: normal / break-all / keep-all; /* normal:使用浏览器默认的换行规 ...
- Linux 运行jar包命令(Cent OS 7后台运行jar包)
Linux 运行jar包命令如下: 方式一 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar shareniu. ...
- POJ 1743:Musical Theme(后缀数组+二分)
题目链接 题意 有N个音符的序列来表示一首乐曲,每个音符都是1到88范围内的整数,现在要找一个重复的主题."主题"是整个音符序列的一个子串,它需要满足如下条件: 长度至少为5个音符 ...
- HDU 6215:Brute Force Sorting(链表+队列)
题目链接 题意 给出一个长度为n的数组,每次操作都要删除数组里面非递增的元素,问最终的数组元素有什么. 思路 容易想到用链表模拟删除,但是不能每次都暴力枚举,这样复杂度O(N^2).想到每次删除元素的 ...
- HihoCoder 1496:寻找最大值(思维DP)
http://hihocoder.com/problemset/problem/1496 题意:中文. 思路:一开始做有一种想法,把所有的数都变成二进制后,最优的情况肯定是挑选所有数中最高位的1能同时 ...
- 开源:C# 代码自动生成工具,支持站点前后台
前言 写这个项目有很长一段时间了,期间也修修改改,写到最后,自己也没咋用(研究方向变化了). 正文 具体项目开源了:https://github.com/supperlitt/WebAutoCodeO ...
- django基础知识之Ajax:
使用Ajax 使用视图通过上下文向模板中传递数据,需要先加载完成模板的静态页面,再执行模型代码,生成最张的html,返回给浏览器,这个过程将页面与数据集成到了一起,扩展性差 改进方案:通过ajax的方 ...