LazStats: Refactor OneCaseAnovaUnit.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7849 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-11-08 15:50:17 +00:00
parent 7b078ddc1b
commit b1667471bd
4 changed files with 994 additions and 1330 deletions

View File

@ -84,6 +84,11 @@
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
<IgnoredMessages idx6058="True"/>
</CompilerMessages>
</Other>
</CompilerOptions>
</Item3>
</BuildModes>
@ -1576,6 +1581,11 @@
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
<IgnoredMessages idx6058="True"/>
</CompilerMessages>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="8">

View File

@ -10,35 +10,35 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
ClientWidth = 940
inherited ParamsPanel: TPanel
Height = 529
Width = 313
Width = 419
ClientHeight = 529
ClientWidth = 313
ClientWidth = 419
inherited CloseBtn: TButton
Left = 258
Left = 364
Top = 504
end
inherited ComputeBtn: TButton
Left = 174
Left = 280
Top = 504
end
inherited ResetBtn: TButton
Left = 112
Left = 218
Top = 504
end
inherited HelpBtn: TButton
Tag = 107
Left = 53
Left = 159
Top = 504
end
inherited ButtonBevel: TBevel
Top = 488
Width = 313
Width = 419
end
object Label3: TLabel[5]
AnchorSideTop.Control = OverAllAlphaEdit
AnchorSideTop.Control = OverallAlphaEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = OverAllAlphaEdit
Left = 175
AnchorSideRight.Control = OverallAlphaEdit
Left = 281
Height = 30
Top = 297
Width = 79
@ -49,14 +49,14 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
Caption = 'Alpha Level for'#13#10'Overall Tests'
ParentColor = False
end
object OverAllAlphaEdit: TEdit[6]
object OverallAlphaEdit: TEdit[6]
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Factor3Edit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Factor3Edit
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ButtonBevel
Left = 262
Left = 368
Height = 23
Top = 301
Width = 51
@ -64,14 +64,14 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
Anchors = [akTop, akRight]
BorderSpacing.Top = 24
TabOrder = 4
Text = 'OverAllAlphaEdit'
Text = 'OverallAlphaEdit'
end
object Label4: TLabel[7]
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = PostAlphaEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = PostAlphaEdit
Left = 74
Left = 58
Height = 15
Top = 469
Width = 163
@ -87,7 +87,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideRight.Control = PostHocGroup
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ButtonBevel
Left = 245
Left = 229
Height = 23
Top = 465
Width = 51
@ -99,11 +99,10 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
end
object PostHocGroup: TGroupBox[9]
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = PostAlphaEdit
Left = 16
Left = 0
Height = 93
Top = 364
Width = 280
@ -166,11 +165,11 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
end
end
object InteractChk: TCheckBox[10]
AnchorSideTop.Control = OverAllAlphaEdit
AnchorSideTop.Control = OverallAlphaEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = OverAllAlphaEdit
AnchorSideRight.Control = OverallAlphaEdit
AnchorSideRight.Side = asrBottom
Left = 210
Left = 316
Height = 19
Top = 332
Width = 103
@ -201,7 +200,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
Left = 0
Height = 331
Top = 17
Width = 137
Width = 190
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 2
BorderSpacing.Right = 6
@ -214,7 +213,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = VarList
Left = 143
Left = 196
Height = 26
Top = 17
Width = 26
@ -228,7 +227,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideTop.Control = DepIn
AnchorSideTop.Side = asrBottom
Left = 143
Left = 196
Height = 26
Top = 47
Width = 26
@ -243,7 +242,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideTop.Control = DepOut
AnchorSideTop.Side = asrBottom
Left = 143
Left = 196
Height = 26
Top = 89
Width = 26
@ -258,7 +257,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideTop.Control = Fact1In
AnchorSideTop.Side = asrBottom
Left = 143
Left = 196
Height = 26
Top = 119
Width = 26
@ -273,7 +272,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideTop.Control = Fact1Out
AnchorSideTop.Side = asrBottom
Left = 143
Left = 196
Height = 26
Top = 161
Width = 26
@ -288,7 +287,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideTop.Control = Fact2In
AnchorSideTop.Side = asrBottom
Left = 143
Left = 196
Height = 26
Top = 191
Width = 26
@ -303,7 +302,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideTop.Control = Fact2Out
AnchorSideTop.Side = asrBottom
Left = 143
Left = 196
Height = 26
Top = 233
Width = 26
@ -318,7 +317,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideTop.Control = Fact3In
AnchorSideTop.Side = asrBottom
Left = 143
Left = 196
Height = 26
Top = 263
Width = 26
@ -333,7 +332,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = DepVarEdit
Left = 177
Left = 230
Height = 16
Top = 20
Width = 103
@ -351,10 +350,10 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = DepOut
AnchorSideBottom.Side = asrBottom
Left = 177
Left = 230
Height = 23
Top = 38
Width = 136
Width = 189
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Bottom = 12
@ -366,7 +365,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = Factor1Edit
Left = 177
Left = 230
Height = 16
Top = 92
Width = 87
@ -384,10 +383,10 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Fact1Out
AnchorSideBottom.Side = asrBottom
Left = 177
Left = 230
Height = 23
Top = 110
Width = 136
Width = 189
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Bottom = 12
@ -399,7 +398,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = Factor2Edit
Left = 177
Left = 230
Height = 16
Top = 164
Width = 87
@ -417,10 +416,10 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Fact2Out
AnchorSideBottom.Side = asrBottom
Left = 177
Left = 230
Height = 23
Top = 182
Width = 136
Width = 189
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Bottom = 12
@ -432,7 +431,7 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideLeft.Control = DepIn
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = Factor3Edit
Left = 177
Left = 230
Height = 16
Top = 236
Width = 72
@ -450,10 +449,10 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Fact3Out
AnchorSideBottom.Side = asrBottom
Left = 177
Left = 230
Height = 23
Top = 254
Width = 136
Width = 189
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Bottom = 12
@ -461,14 +460,74 @@ inherited OneCaseAnovaForm: TOneCaseAnovaForm
TabOrder = 24
Text = 'Factor3Edit'
end
object PlotGroup: TGroupBox[29]
AnchorSideLeft.Control = PostHocGroup
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = PostHocGroup
AnchorSideBottom.Control = PostHocGroup
AnchorSideBottom.Side = asrBottom
Left = 296
Height = 78
Top = 364
Width = 95
AutoSize = True
BorderSpacing.Left = 16
Caption = 'Plots'
ClientHeight = 58
ClientWidth = 91
TabOrder = 25
object ShowPlotsChk: TCheckBox
AnchorSideLeft.Control = PlotGroup
AnchorSideTop.Control = PlotGroup
Left = 12
Height = 19
Top = 8
Width = 79
BorderSpacing.Left = 12
BorderSpacing.Top = 8
Caption = 'Plot Means'
Checked = True
OnChange = ShowPlotsChkChange
State = cbChecked
TabOrder = 0
end
object Plot3DChk: TCheckBox
AnchorSideLeft.Control = ShowPlotsChk
AnchorSideTop.Control = ShowPlotsChk
AnchorSideTop.Side = asrBottom
Left = 36
Height = 19
Top = 27
Width = 34
BorderSpacing.Left = 24
BorderSpacing.Right = 12
BorderSpacing.Bottom = 12
Caption = '3D'
OnChange = Plot3DChkChange
TabOrder = 1
end
end
end
inherited ParamsSplitter: TSplitter
Left = 325
Left = 431
Height = 545
end
inherited PageControl: TPageControl
Left = 334
Left = 440
Height = 529
Width = 598
Width = 492
ActivePage = ReportPage
TabIndex = 0
inherited ReportPage: TTabSheet
Caption = 'ANOVA Results'
end
inherited ChartPage: TTabSheet
Caption = 'Plots'
TabVisible = False
end
object PostHocPage: TTabSheet[2]
Caption = 'Post-Hoc'
TabVisible = False
end
end
end

View File

@ -54,7 +54,7 @@ type
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
@ -84,7 +84,7 @@ implementation
uses
Math,
Utils, MatrixUnit;
MatrixUnit;
{ TMedianPolishForm }