.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 ...
随机推荐
- 使用jQuery Uploadify在ASP.NET 上传附件
Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.Uploadify官方网址:http://www.uploadify.com/,在MVC中使用的方法可以参考 jQuer ...
- Android安全开发之ZIP文件目录遍历
1.ZIP文件目录遍历简介 因为ZIP压缩包文件中允许存在“../”的字符串,攻击者可以利用多个“../”在解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原有的文件.如果被覆盖掉的文件是动态链接s ...
- 解读2015年互联网UGC内容发展态势,安全事件频发
<2015内容安全年报> 阿里移动安全 第一章 2015年内容安全形势 随着互联网业务的迅速发展,互联网上的信息内容带来了爆炸式的增长.由于缺乏对网络活动进行有效监督和管理的措施,致使互联 ...
- .NET面试题系列[12] - C# 3.0 LINQ的准备工作
"为了使LINQ能够正常工作,代码必须简化到它要求的程度." - Jon Skeet 为了提高园子中诸位兄弟的英语水平,我将重要的术语后面配备了对应的英文. .NET面试题系列目录 ...
- greenDao 备注
1.构建文件夹存放自动生成的代码,并在脚本中配置: sourceSets { main { java.srcDirs = ['src/main/java', 'src/main/java-gen'] ...
- Alljoyn之管中窥豹
Alljoyn之管中窥豹 一.历史: Alljoyn是高通2011年推出的近距离P2P通讯技术,它为分布式应用程序在不同设备中提供了运行环境,特别是移动性.安全性和动态配置,支持Microsoft W ...
- Atitit 深入理解抽象类与接口 attilax总结
Atitit 深入理解抽象类与接口 attilax总结 1.1. 主要区别接口侧重于动作抽象..抽象类是属性名词抽象..1 1.2. 抽象层次类>>抽象类>>接口1 1.3. ...
- Struts2-修改数据
<body> 用户信息:<br><br> <% List<User> lu = (List<User>)request.getAttr ...
- Nginx配置文件解析
user nginx nginx; #定义Nginx运行的用户和用户组 worker_processes 1; #nginx进程数,建议设置为等于CPU总核心数 worker_rlimit_nofil ...
- Android Drawable 那些不为人知的高效用法
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43752383,本文出自:[张鸿洋的博客] 1.概述 Drawable在我们平时的 ...