///加载自己写的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语言的更多相关文章

  1. .net 调用R语言的函数(计算统计值pvalue 对应excel :ttest)

    Pvalue 计算 项目设计pvalue计算,但是由于.net 没有类似的公式或者函数,最终决定使用.net 调用R语言 采用.net 调用r语言的公用函数 需要安装 r语言环境 https://mi ...

  2. (转)python中调用R语言通过rpy2 进行交互安装配置详解

    python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753   python中调用R语言通过r ...

  3. shell中调用R语言并传入参数的两种步骤

    shell中调用R语言并传入参数的两种方法 第一种: Rscript myscript.R R脚本的输出 第二种: R CMD BATCH myscript.R # Check the output ...

  4. C# 调用R语言

    在.net项目中需要调用Matlab生成的DLL,但是在调用过程中报错,截图如下: 在网上搜索一下资料,看到该博客:https://cn.mathworks.com/matlabcentral/new ...

  5. JAVA 调用 R 语言

    1 简介 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方法,另一方面,JAVA中可以转换R的数据类型调用R的 ...

  6. Java调用R语言

    R是统计计算的强大工具,JAVA是做应用系统的主流语言.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的系统. 一.Rserve(远程通信模式) Rserve是一个基于TCP/ ...

  7. Python调用R语言

    网络上经常看到有人问数据分析是学习Python好还是R语言好,还有一些争论Python好还是R好的文章.每次看到这样的文章我都会想到李舰和肖凯的<数据科学中的R语言>,书中一直强调,工具不 ...

  8. C#调用R语言输出图片

    参考:http://rdotnet.codeplex.com/documentation   REngine.SetEnvironmentVariables(); REngine engine = R ...

  9. JAVA 调用 R 语言之升华篇

    由于项目的需要,最近做了一个javaWeb调用R的组件,在这里,我把自己走的一些弯路给大家总结一下: 一.选取什么插件作为java和R之间的通信? 1. 在传统的方式中,大致可以分为两类:一类是JRI ...

随机推荐

  1. 探索C#之虚拟桶分片

    阅读目录 背景 虚拟桶(virtual buckets) 实现 总结 背景 关于数据分片讨论最多的是一致性hash,然而它并不是分布式设计中的银弹百试百灵. 在数据稳定性要求比较高的场景下它的缺点是不 ...

  2. 《HiWind企业快速开发框架实战》(1)框架的工作原理

    <HiWind企业快速开发框架实战>(1)框架的工作原理 1.HiWind架构 HiWind的基本架构如下: 持久层部分:同时为框架本身的业务服务,也为开发人员的自定义业务服务. 逻辑层: ...

  3. ASP.NET MVC 5 Web编程2 -- URL映射(路由原理)

    本章将讲述ASP.NET MVC5 的路由原理,即URL映射机制. 简单点就是解释:为什么MVC在浏览器输入地址就能访问到类(或类中的方法)?这是怎么做到的?我自己可以通过.NET写出一个自己的MVC ...

  4. 使用VS+VisualGDB编译Linux版本RCF

    RPC通信框架--RCF介绍中说了,RCF本身是支持跨平台的,其代码放到Linux平台,是可以通过gcc.make等工具,编译通过的. 官方提供的源码中,只有cmake编译脚本,并没有提供Makefi ...

  5. IIS ApplicationPoolIdentity

    原创地址:http://www.cnblogs.com/jfzhu/p/4067297.html 转载请注明出处 从IIS 7.5开始,Application Pool Identity的Built- ...

  6. 学习RBAC 用户·角色·权限·表

  7. Eclipse 常用快捷键 (动画讲解)

    Eclipse有强大的编辑功能, 工欲善其事,必先利其器, 掌握Eclipse快捷键,可以大大提高工作效率.  编辑相关快捷键 注释          Ctrl + / 快速修复    Ctrl + ...

  8. Red Gate(SQLToolbelt)SQL Server的安装与注册(破解)

    Red Gate(SQLToolbelt)是SQL Server辅佐工具 1.SQL Compare 比较和同步SQL Server数据库结构 2.SQL Data Compare 比较和同步SQL ...

  9. 有关binlog的那点事(二)(mysql5.7.13)

    上次,我们仅仅把binlog做了一个概述,并没有去深入探索(1)binlog file究竟是怎么构成的?(2)binlog file的单元binlog events是怎么构成的?(3)我们能不能伪造出 ...

  10. Razor视图出现重复的解决方法