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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM