.Net调用R语言
///加载自己写的R语言算法库
public List<double> GetZTFB(double[] data)
{
List<double> par = new List<double>();
try
{
//调用R语言算法
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance(null, true, null, null);
NumericVector x = engine.CreateNumericVector(data);
engine.SetSymbol("x", x);
string path = System.Windows.Forms.Application.StartupPath + "\\R_File\\ztfb.R";
path = "source(\"" + path + "\")";
path = path.Replace("\\", "\\\\");//这一步至关重要,否则会报错
engine.Evaluate(path);
engine.Evaluate("a<- ztfb(x)"); // engine.Evaluate(@"normal <- function(theta){
// mu <- theta[1]
// sigma <- theta[2]
// n <- length(x)
// logL <- -0.5*n*log(2*pi) - n*log(sigma) - sum(0.5*(x - mu)^2/sigma^2)
// return (-logL)
// }
// a<- nlminb(c(0,1),normal)");
NumericVector a = engine.Evaluate("a$par[1]").AsNumeric();
NumericVector b = engine.Evaluate("a$par[2]").AsNumeric();
par.Add(Convert.ToDouble(a[0]));
par.Add(Convert.ToDouble(b[0]));
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return par;
} ///加载R语言下载库
public List<double> GetZTFB(double[] data)
{
List<double> par = new List<double>();
try
{
//调用R语言算法
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance(null, true, null, null);
///加载R语言库
engine.Evaluate("library(\"bit\", lib.loc=\"C:/Program Files/R/R-3.3.2/library\")")
NumericVector x = engine.CreateNumericVector(data);
engine.SetSymbol("x", x);
string path = System.Windows.Forms.Application.StartupPath + "\\R_File\\ztfb.R";
path = "source(\"" + path + "\")";
path = path.Replace("\\", "\\\\");//这一步至关重要,否则会报错
engine.Evaluate(path);
engine.Evaluate("a<- ztfb(x)"); // engine.Evaluate(@"normal <- function(theta){
// mu <- theta[1]
// sigma <- theta[2]
// n <- length(x)
// logL <- -0.5*n*log(2*pi) - n*log(sigma) - sum(0.5*(x - mu)^2/sigma^2)
// return (-logL)
// }
// a<- nlminb(c(0,1),normal)");
NumericVector a = engine.Evaluate("a$par[1]").AsNumeric();
NumericVector b = engine.Evaluate("a$par[2]").AsNumeric();
par.Add(Convert.ToDouble(a[0]));
par.Add(Convert.ToDouble(b[0]));
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return par;
}
.Net调用R语言的更多相关文章
- .net 调用R语言的函数(计算统计值pvalue 对应excel :ttest)
Pvalue 计算 项目设计pvalue计算,但是由于.net 没有类似的公式或者函数,最终决定使用.net 调用R语言 采用.net 调用r语言的公用函数 需要安装 r语言环境 https://mi ...
- (转)python中调用R语言通过rpy2 进行交互安装配置详解
python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753 python中调用R语言通过r ...
- shell中调用R语言并传入参数的两种步骤
shell中调用R语言并传入参数的两种方法 第一种: Rscript myscript.R R脚本的输出 第二种: R CMD BATCH myscript.R # Check the output ...
- C# 调用R语言
在.net项目中需要调用Matlab生成的DLL,但是在调用过程中报错,截图如下: 在网上搜索一下资料,看到该博客:https://cn.mathworks.com/matlabcentral/new ...
- JAVA 调用 R 语言
1 简介 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方法,另一方面,JAVA中可以转换R的数据类型调用R的 ...
- Java调用R语言
R是统计计算的强大工具,JAVA是做应用系统的主流语言.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的系统. 一.Rserve(远程通信模式) Rserve是一个基于TCP/ ...
- Python调用R语言
网络上经常看到有人问数据分析是学习Python好还是R语言好,还有一些争论Python好还是R好的文章.每次看到这样的文章我都会想到李舰和肖凯的<数据科学中的R语言>,书中一直强调,工具不 ...
- C#调用R语言输出图片
参考:http://rdotnet.codeplex.com/documentation REngine.SetEnvironmentVariables(); REngine engine = R ...
- JAVA 调用 R 语言之升华篇
由于项目的需要,最近做了一个javaWeb调用R的组件,在这里,我把自己走的一些弯路给大家总结一下: 一.选取什么插件作为java和R之间的通信? 1. 在传统的方式中,大致可以分为两类:一类是JRI ...
随机推荐
- this的安身之处
在JavaScript的大千世界中,this对象就像一个行踪不定.居无定所的浪子一般,它的生活仿佛可以随处而安,而内心却又似有着笃定的坚守,它就是这么有趣! 初学JavaScript时的我们,多多少少 ...
- [转]各种移动GPU压缩纹理的使用方法
介绍了各种移动设备所使用的GPU,以及各个GPU所支持的压缩纹理的格式和使用方法.1. 移动GPU大全 目前移动市场的GPU主要有四大厂商系列:1)Imagination Technologies的P ...
- 如何调试ANDROID下面黑屏问题
最近很多朋友在问,为毛在WINDOWS下对了,跑ANDROID的虚拟机或者真机就黑屏了, 有的是只有FPS信息,有的是连FPS信息都没有.如果是程序能够正常启动,不会闪退,但显示不对. 那十有八九都是 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (35) ------ 第六章 继承与建模高级应用之TPH继承映射中使用复合条件
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 6-11 TPH继承映射中使用复合条件 问题 你想使用TPH为一张表建模,建模中使 ...
- 剖析twemproxy前言
又是喜闻乐见的新坑,前面的mysql协议,当我在解读go-mysql包的时候,会重新讲到,至于Leetcode的更新会与go语言同步.关于这个redis的新坑,目前打算通过剖析twemproxy源码来 ...
- SQL Server 跨网段(跨机房)FTP复制
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 搭建过程(Process) 注意事项(Attention) 参考文献(References) ...
- Entity Framework Code First实体对象变动跟踪
Entity Framework Code First通过DbContext.ChangeTracker对实体对象的变动进行跟踪,实现跟踪的方式有两种:变动跟踪快照和变动跟踪代理. 变动跟踪快照:前面 ...
- C#设计模式系列:单一职责原则(Single Responsibility Principle)
1.单一职责原则的核心思想 一个类应该有且只有一个变化的原因. 2.为什么要引入单一职责原则 单一职责原则将不同的职责分离到单独的类,每一个职责都是一个变化的中心.当需求变化时,这个变化将通过更改职责 ...
- ios语音输入崩溃
游戏中任何可以输入的地方,只要调用语音输入,必然会导致app崩溃,解决方法如下: ok, so essentially the gist of it is that siri wants gl con ...
- 【读书笔记】XHTML与HTML5 的差异
最近在困惑html5和XHTML两者之间的具体区别,查看了百度.google和新浪等,他们首页的源码第一句都是 1 <!Doctype html> 这是HTML5的doctype声明,说明 ...