LazStats: Refactor BlkAnovaUnit.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7854 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-11-10 15:11:42 +00:00
parent bc5987793a
commit 43496a10e8
3 changed files with 1174 additions and 924 deletions

View File

@ -641,15 +641,16 @@ inherited BlksAnovaForm: TBlksAnovaForm
Height = 537
Width = 485
ActivePage = PosthocPage
TabIndex = 2
inherited ReportPage: TTabSheet
Caption = 'ANOVA Results'
end
object PosthocPage: TTabSheet[1]
inherited ChartPage: TTabSheet
Caption = 'Plots'
end
object PosthocPage: TTabSheet[2]
Caption = 'Post-Hoc'
TabVisible = False
end
inherited ChartPage: TTabSheet[2]
Caption = 'Plots'
end
end
end

View File

@ -886,27 +886,27 @@ begin
Constant := sqr(MeanDep) / N;
GrandMean := MeanDep / N;
// Get ss for rows
// Get SS for rows
SSF1 := 0;
RowsTotCnt := 0;
for i := 0 to NoGrpsA - 1 do
begin
SSF1 := SSF1 + RowSums[i] * RowSums[i] / RowCount[i];
SSF1 := SSF1 + sqr(RowSums[i]) / RowCount[i];
RowsTotCnt := RowsTotCnt + RowCount[i];
end;
SSF1 := SSF1 - Constant;
// Get ss for columns
// Get SS for columns
SSF2 := 0;
ColsTotCnt := 0;
for j := 0 to NoGrpsB - 1 do
begin
SSF2 := SSF2 + ColSums[j] * ColSums[j] / ColCount[j];
SSF2 := SSF2 + sqr(ColSums[j]) / ColCount[j];
ColsTotCnt := ColsTotCnt + ColCount[j];
end;
SSF2 := SSF2 - Constant;
// Get ss for slices
// Get SS for slices
SSF3 := 0;
SlcsTotCnt := 0;
for k := 0 to NoGrpsC - 1 do
@ -1016,6 +1016,7 @@ begin
else
DFErr := DFTot - DFF1 - DFF2 - DFF3;
DFBalance := DFErr - 1;
MSF1 := SSF1 / DFF1;
MSF2 := SSF2 / DFF2;
MSF3 := SSF3 / DFF3;
@ -1025,6 +1026,7 @@ begin
MSErr := SSErr / DFErr;
MSDep := SSDep / DFTot;
MSBalance := SSBalance / DFBalance;
OmegaF1 := (SSF1 - DFF1 * MSErr) / (SSDep + MSErr);
OmegaF2 := (SSF2 - DFF2 * MSErr) / (SSDep + MSErr);
OmegaF3 := (SSF3 - DFF3 * MSErr) / (SSDep + MSErr);