Performs a one-way (single-factor) analysis of variance (ANOVA).
Perform the one-way analysis of variance where Data vector (one variable) is indexed by a second grouping GroupIndex vector variable.
Example 1
The following example will perform ANOVA on single variable with three groups (0,1,2 - stored in GroupIndex vector). Use MtxExpr, Math387, Regress;
var GroupIndex : Vector;
Data: Vector;
ANOVARes : TANOVA1Result;
SigProb : TSample;
begin
Data.SetIt(false,[1,2,3,4,5,6,7,8,9,10,11,12]);
GroupIndex.SetIt(false,[0,0,0,0,1,1,1,1,2,2,2,2]);
ANOVARes := ANOVA1(Data,GroupIndex,SigProb);
// ANOVARes = (SS1:128; SS2:15; SSTotal:143;
// Deg1:2; Deg2:9; DegTotal:11; MS1:64;
// MS2:1.6666666667; FDist:38.4; FCrit:4.2564947291)
// SigProb = 3.9210149408e-05
end;
#include "MtxVecCpp.h"
#include "Regress.hpp"
#include "Math387.hpp"
void __fastcall Example()
{
Vector Data, GroupIndex;
TANOVA1Result ANOVAResult;
double signprob;
Data->SetIt(false,OPENARRAY(TSample,(1,2,3,4,5,6,7,8,9,10,11,12)));
GroupIndex->SetIt(false,OPENARRAY(TSample,(0,0,0,0,1,1,1,1,2,2,2,2)));
ANOVAResult = ANOVA1(Data,GroupIndex,signprob,0.05);
// ANOVARes = (SS1:128; SS2:15; SSTotal:143;
// Deg1:2; Deg2:9; DegTotal:11; MS1:64;
// MS2:1.6666666667; FDist:38.4; FCrit:4.2564947291)
// signprob = 3.9210149408e-05
}
using Dew.Math;
using Dew.Stats;
using Dew.Stats.Units;
namespace Dew.Examples
{
private void Example()
{
Vector Data = new Vector(0);
Vector GroupIndex = new Vector(0);
double signprob;
TANOVA1Result ar;
Data.SetIt(false, new double[] {1,2,3,4,5,6,7,8,9,10,11,12});
GroupIndex.SetIt(false, new double[] {0,0,0,0,1,1,1,1,2,2,2,2});
ar = Regress.ANOVA1(Data,GroupIndex,out signprob,0.05);
// ANOVARes = (SS1:128; SS2:15; SSTotal:143;
// Deg1:2; Deg2:9; DegTotal:11; MS1:64;
// MS2:1.6666666667; FDist:38.4; FCrit:4.2564947291)
// signprob = 3.9210149408e-05
}
}
Declaration
Function ANOVA1(Data: TMtx; out p: TSample; alpha: TSample = 0.05): TANOVA1Result;
Performs a one-way (single-factor) analysis of variance.
Example 1
The following example will perform ANOVA1 on 4 variables. Uses MtxExpr, Regress, Math387;
procedure Example;
var Data: Matrix;
ANOVARes : TANOVA1Result;
SigProb : TSample;
begin
Data.SetIt(4,4,false,[3.2, 2.5, 5.5, 7.0,
6.2, 12.0, 3.0, 4.1,
1.5, 5.7, 4.9, 3.5,
2.5, 3.1, 3.2, 3.4]);
ANOVARes := ANOVA1(Data,SigProb);
// ANOVARes = (SS1:12.771875; SS2:82.1475; SSTotal:94.919375;
// Deg1:3; Deg2:12; DegTotal:15; MS1:4.2572916667;
// MS2:6.845625; FDist:0.62189963176; FCrit:3.4902948195
// SigProb = 0.614256442
end;
#include "MtxVecCpp.h"
#include "Regress.hpp"
#include "Math387.hpp"
void __fastcall Example()
{
Matrix Data;
TANOVA1Result ANOVAResult;
double signprob;
Data->SetIt(4,4,false,OPENARRAY(TSample,(3.2, 2.5, 5.5, 7.0,
6.2, 12.0, 3.0, 4.1,
1.5, 5.7, 4.9, 3.5,
2.5, 3.1, 3.2, 3.4)));
ANOVAResult = ANOVA1(Data,signprob,0.05);
// ANOVARes = (SS1:12.771875; SS2:82.1475; SSTotal:94.919375;
// Deg1:3; Deg2:12; DegTotal:15; MS1:4.2572916667;
// MS2:6.845625; FDist:0.62189963176; FCrit:3.4902948195
// SigProb = 0.614256442
}
using Dew.Math;
using Dew.Stats;
using Dew.Stats.Units;
namespace Dew.Examples
{
private void Example()
{
Matrix Data = new Matrix(0,0);
double signprob;
TANOVA1Result ar;
Data.SetIt(4,4,false, new double[] {3.2, 2.5, 5.5, 7.0,
6.2, 12.0, 3.0, 4.1,
1.5, 5.7, 4.9, 3.5,
2.5, 3.1, 3.2, 3.4});
ar = Regress.ANOVA1(Data,out signprob,0.05);
// ar = (SS1:12.771875; SS2:82.1475; SSTotal:94.919375;
// Deg1:3; Deg2:12; DegTotal:15; MS1:4.2572916667;
// MS2:6.845625; FDist:0.62189963176; FCrit:3.4902948195
// signprob = 0.614256442
}
}