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


    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向量

  • 相关阅读:
    CentOS挂载ntfs
    搬水果
    CentOS安装完显卡启动进不去系统
    二叉树遍历
    拓展的异常类
    Visual Studio 2008 IDE 出现 “帮助更新正在进行”错误的解决办法
    JSON工具SuperObject编译时"整数溢出"异常的解决办法
    引用命名区域
    ruby操作excel的几段代码
    Delphi2009&2007中,测试工程的初级使用(DUnit)
  • 原文地址:https://www.cnblogs.com/jayblog/p/10621043.html
Copyright © 2020-2023  润新知