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

本文介绍了一个.NET项目中如何通过调用R语言实现P值计算的方法。具体步骤包括:配置R语言环境,将.NET中的数据转换为R语言可识别的格式,并执行t-test获得P值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

转载于:https://www.cnblogs.com/jayblog/p/10621043.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值