//Two sided one sample t test public static TTestResult CalcTTest(double[] data, double testValue) { var sampleMean = data.Average(); var sampleVariance = data.Variance(); var result = new TTestResult { TestStatistics = T(sampleMean, testValue, sampleVariance, data.Length) }; result.UpdateP(new StudentT(sampleMean, sampleVariance, data.Length, Random)); return(result); }
public static TTestResult CalcTTest( double data1Mean, double data2Mean, double data1Variance, double data2Variance, int data1Length, int data2Length) { var result = new TTestResult( System.Math.Abs(T2Unequal(data1Mean, data2Mean, data1Variance, data2Variance, data1Length, data2Length))); var dof = DOF(data1Variance, data2Variance, data1Length, data2Length); if (dof > 0) { result.UpdateP( new StudentT(data1Variance.Equals(0) ? data2Mean : data1Mean, data1Variance.Equals(0) ? data2Variance : data1Variance, dof, Random)); } return(result); }
public static TTestResult CalcTTest(double[] data1, double[] data2, bool equalVariance) { var mean1 = data1.Average(); var mean2 = data2.Average(); var variance1 = data1.Variance(); var variance2 = data2.Variance(); var result = new TTestResult(equalVariance ? System.Math.Abs(T2Equal( mean1, mean2, variance1, variance2, data1.Length, data2.Length)) : System.Math.Abs(T2Unequal( mean1, mean2, variance1, variance2, data1.Length, data2.Length))); var dof = equalVariance ? data1.Length + data2.Length - 2 : DOF(variance1, variance2, data1.Length, data2.Length); if (dof > 0) { result.UpdateP(new StudentT(mean1, variance1, dof, Random)); } return(result); }