Pvalue 计算

项目设计pvalue计算,但是由于.net 没有类似的公式或者函数,最终决定使用.net 调用R语言

采用.net 调用r语言的公用函数
需要安装 r语言环境 https://mirrors.tuna.tsinghua.edu.cn/CRAN/

前端调用api 发现需要ajax 同步调用
public string GetPValue(double[] data1, double[] data2)
{

REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance();
// REngine需要明确的初始化,
// 你可以设置一些参数。
engine.Initialize();
// net向量转R向量
NumericVector group1 = engine.CreateNumericVector(data1);
engine.SetSymbol("group1", group1);
// 直接R脚本解析

// string value = "group2 <- c(55,66,377,88)";
NumericVector group2 = engine.Evaluate("group2 <- c(" + string.Join(",", data2) + ")").AsNumeric();
// 测试不同并获取Pvalue
GenericVector testResult = engine.Evaluate("t.test(group1, group2,var.equal = TRUE)").AsList();
double pValue = testResult["p.value"].AsNumeric().First();

//engine.Dispose();

return Convert.ToDouble(pValue).ToString("f3");// GetThree(ObjConvert.ObjString(Math.Round(pValue, 3)));

//REngine.SetEnvironmentVariables();
// REngine engine = REngine.GetInstance();
// REngine需要明确的初始化,
// 你可以设置一些参数。
//engine.Initialize();
// net向量转R向量

.net 调用R语言的函数(计算统计值pvalue 对应excel :ttest)的更多相关文章

  1. 【R】R语言常用函数

    R语言常用函数 基本 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量character:字符型向量 list:列表 data.frame:数据框c:连接为向量或 ...

  2. R语言封装函数

    R语言封装函数 原帖见豆瓣:https://www.douban.com/note/279077707/ 一个完整的R函数,需要包括函数名称,函数声明,函数参数以及函数体几部分. 1. 函数名称,即要 ...

  3. C# 调用R语言

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

  4. .Net调用R语言

    ///加载自己写的R语言算法库 public List<double> GetZTFB(double[] data) { List<double> par = new List ...

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

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

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

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

  7. R语言table()函数

    R语言table()函数比较有用,两个示例尤其是混淆矩阵这个案例比较有用: 例子一:统计频次 z<-c(1,2,2,4,2,7,1,1);z1<-table(z);summary(z1); ...

  8. R语言可视化学习笔记之添加p-value和显著性标记

    R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline   上篇文章中提了一下如何通过ggpubr ...

  9. R语言的导数计算(转)

    转自:http://blog.fens.me/r-math-derivative/ 前言 高等数学是每个大学生都要学习的一门数学基础课,同时也可能是考完试后最容易忘记的一门知识.我在学习高数的时候绞尽 ...

随机推荐

  1. Hive的union和join操作

    建表语句: create table  tb_in_base (    id  bigint,    devid bigint,     devname string  ) partitioned b ...

  2. 使用git往gitee传数据时pull命令的使用

    按‘i’进入编辑模式------->写入内容------>按Esc键退出-------->在左下角的冒号后面输入‘wq’,表示退出并保存

  3. spring cloud(断路器——初学五)

    Feign使用Hystrix 因为feign已经依赖了hystrix,所以可以直接使用,无需添加再次添加依赖. 1.使用@FeignClient注解中的fallback属性指定回调类 package ...

  4. Java对日期Date类进行日期加减运算,年份加减,月份加减

    package com.cy; import java.security.InvalidParameterException; import java.text.ParseException; imp ...

  5. Notyf - 超级简单、响应式的 JS 通知插件

    通知是网站的常用功能之一,可以用来显示消息.通告.提示等等.Notyf 是一款超级简单.响应式的 JS 通知插件,不依赖 jQuery 库,可以独立使用.赶紧试用一下吧! 在线演示      免费下载 ...

  6. 由sql注入联想到PreparedStatement

    PreparedStatement极大地提高了安全性. 即使到目前为止,仍有一些人连基本的恶意SQL语法都不知道. String  sql  =  "select  *  from  tb_ ...

  7. 利用cordova打包H5混合app

    1.首先布置jdk环境,下载jdk(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...

  8. openssl x509(签署和自签署)

    openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 主要用于输出证书信息,也能够签署证书请求文件.自签署.转换证书格式等. op ...

  9. 【转载】To the Virgins, to Make Much of Time

    Gather ye rosebuds while ye may Old Time is still a-flying And this same flower that smiles today To ...

  10. Visual Studio日文乱码解决方法

    ---恢复内容开始--- 验证N多网上方法之后,没能解决,最后在控制面板->时钟.语言和区域->语言中左下角点击位置,进入区域窗口,管理选项中的更改系统区域语言,设为日语,解决,截图附上. ...