You've already forked lazarus-ccr
LazStats: Inherit BNestAUnit from BasicStatsReportAndChartForm. Refactor. Add test data file from OpenStat samples. Refine ABCNestedUnit.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7866 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -71,4 +71,5 @@ correlation, means, standard deviations and confidence interval for each correla
|
||||
167=Notes: This is a non-parametric analysis of ordinal data.\nIt is similar to a two-way Analysis of Variance but utilizes a chi-square statistic (H) for determining the significance of the row, column and interaction effects. The dependent value, if not initially rank data, may be obtained first by creating a new variable with the "transformation" procedure available under the "Variables" menu. The output of this procedure contains the results both of a "traditional" 2-way ANOVA as well as the SRH results.\nIt should be noted that the power of the SRH analysis is less than that of the traditional ANOVA. It is suggested that there be at least 5 or more cases in each cell and that the design is a balanced design of fixed levels.\nThe H statistic is obtained as the division of the sum of squares for an effect by the mean square of the total and the test is performed by a chi-squared probability with the degrees of freedom equal to the SS of the effect being tested.
|
||||
168=This procedure lets you enter the number of observed values and the number of expected values for one or more categories.\nEnter the values as indicated and when finished, press the compute button.
|
||||
169=Directions:\nFor independent groups data, first click the variable to be analyzed then click the variable containing group codes.\nFor dependent variables it is assumed the data for each pair of values are in a case.\nEnter the names of those two variables.
|
||||
170=Directions:\nThis analysis assumes that levels of Factor B are Nested within levels of Factor A. It is assumed that all factors are fixed level factors.\n\nThe variables for the group coding should be defined as integers. The dependent variable should be defined as a floating point variable. The number of cases for each ABC group should be equal and the number of B treatments in in each A level should be equal. The number of C treatment levels should be the same for each AB combination.\n\nClick the variable for each factor variable and the corresponding arrow to enter it in the edit box for that variable. Select the type of plot desired for the means (if any.) Click the Compute button to continue.
|
||||
170=Directions:\nThis analysis assumes that levels of Factor B are nested within levels of Factor A. It is assumed that all factors are fixed level factors.\n\nThe variables for the group coding should be defined as integers. The dependent variable should be defined as a floating point variable. The number of cases for each ABC group should be equal and the number of B treatments in in each A level should be equal. The number of C treatment levels should be the same for each AB combination.\n\nClick the variable for each factor variable and the corresponding arrow to enter it in the edit box for that variable. Select the type of plot desired for the means (if any.) Click the Compute button to continue.
|
||||
171=Directions: This analysis assumes that levels of Factor B are nested within levels of Factor A. Unless otherwise specified, it is assumed that Factors A and B are fixed level factors. If Factor B is a random variable, check the provided box to indicate this.\n\nThe number of cases for each B group should be equal and the number of B treatements in each A level should be equal.
|
135
applications/lazstats/data/ABNested.laz
Normal file
135
applications/lazstats/data/ABNested.laz
Normal file
@ -0,0 +1,135 @@
|
||||
27
|
||||
3
|
||||
A
|
||||
VARIABLE 1
|
||||
1
|
||||
I
|
||||
0
|
||||
99999
|
||||
L
|
||||
B
|
||||
VARIABLE 2
|
||||
1
|
||||
I
|
||||
0
|
||||
99999
|
||||
L
|
||||
Dep
|
||||
VARIABLE 3
|
||||
4
|
||||
F
|
||||
1
|
||||
99999
|
||||
L
|
||||
Case 0
|
||||
A
|
||||
B
|
||||
Dep
|
||||
Case 1
|
||||
1
|
||||
1
|
||||
1.00
|
||||
Case 2
|
||||
1
|
||||
1
|
||||
3.00
|
||||
Case 3
|
||||
1
|
||||
1
|
||||
4.00
|
||||
Case 4
|
||||
1
|
||||
2
|
||||
2.00
|
||||
Case 5
|
||||
1
|
||||
2
|
||||
3.00
|
||||
Case 6
|
||||
1
|
||||
2
|
||||
5.00
|
||||
Case 7
|
||||
1
|
||||
3
|
||||
3.00
|
||||
Case 8
|
||||
1
|
||||
3
|
||||
3.00
|
||||
Case 9
|
||||
1
|
||||
3
|
||||
6.00
|
||||
Case 10
|
||||
2
|
||||
4
|
||||
2.00
|
||||
Case 11
|
||||
2
|
||||
4
|
||||
4.00
|
||||
Case 12
|
||||
2
|
||||
4
|
||||
5.00
|
||||
Case 13
|
||||
2
|
||||
5
|
||||
3.00
|
||||
Case 14
|
||||
2
|
||||
5
|
||||
4.00
|
||||
Case 15
|
||||
2
|
||||
5
|
||||
5.00
|
||||
Case 16
|
||||
2
|
||||
6
|
||||
4.00
|
||||
Case 17
|
||||
2
|
||||
6
|
||||
5.00
|
||||
Case 18
|
||||
2
|
||||
6
|
||||
6.00
|
||||
Case 19
|
||||
3
|
||||
7
|
||||
3.00
|
||||
Case 20
|
||||
3
|
||||
7
|
||||
3.00
|
||||
Case 21
|
||||
3
|
||||
7
|
||||
5.00
|
||||
Case 22
|
||||
3
|
||||
8
|
||||
4.00
|
||||
Case 23
|
||||
3
|
||||
8
|
||||
5.00
|
||||
Case 24
|
||||
3
|
||||
8
|
||||
6.00
|
||||
Case 25
|
||||
3
|
||||
9
|
||||
6.00
|
||||
Case 26
|
||||
3
|
||||
9
|
||||
6.00
|
||||
Case 27
|
||||
3
|
||||
9
|
||||
7.00
|
28
applications/lazstats/data/ABNested.tab
Normal file
28
applications/lazstats/data/ABNested.tab
Normal file
@ -0,0 +1,28 @@
|
||||
A B Dep
|
||||
1 1 1.00
|
||||
1 1 3.00
|
||||
1 1 4.00
|
||||
1 2 2.00
|
||||
1 2 3.00
|
||||
1 2 5.00
|
||||
1 3 3.00
|
||||
1 3 3.00
|
||||
1 3 6.00
|
||||
2 4 2.00
|
||||
2 4 4.00
|
||||
2 4 5.00
|
||||
2 5 3.00
|
||||
2 5 4.00
|
||||
2 5 5.00
|
||||
2 6 4.00
|
||||
2 6 5.00
|
||||
2 6 6.00
|
||||
3 7 3.00
|
||||
3 7 3.00
|
||||
3 7 5.00
|
||||
3 8 4.00
|
||||
3 8 5.00
|
||||
3 8 6.00
|
||||
3 9 6.00
|
||||
3 9 6.00
|
||||
3 9 7.00
|
@ -1,7 +1,7 @@
|
||||
inherited ABCNestedForm: TABCNestedForm
|
||||
Left = 383
|
||||
Left = 441
|
||||
Height = 481
|
||||
Top = 191
|
||||
Top = 202
|
||||
Width = 843
|
||||
Caption = 'Three-Factor Nested ANOVA'
|
||||
ClientHeight = 481
|
||||
|
@ -123,8 +123,9 @@ implementation
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
Math,
|
||||
TAChartUtils, TACustomSource, TALegend, TASeries,
|
||||
Utils, Math, MathUnit, MatrixUnit, GridProcs, ChartFrameUnit;
|
||||
Utils, MathUnit, MatrixUnit, GridProcs, ChartFrameUnit;
|
||||
|
||||
|
||||
{ TABCNestedForm }
|
||||
@ -140,6 +141,9 @@ begin
|
||||
MeansPage.PageIndex := 1;
|
||||
|
||||
FChartFrame.Chart.Margins.Bottom := 0;
|
||||
FChartFrame.Chart.BottomAxis.AxisPen.Visible := true;
|
||||
FChartFrame.Chart.BottomAxis.ZPosition := 1;
|
||||
FChartFrame.Chart.BottomAxis.Grid.Visible := false;
|
||||
AddComboboxToToolbar(FChartFrame.ChartToolbar, 'Plots:', FChartCombobox);
|
||||
FChartCombobox.OnSelect := @SelectPlot;
|
||||
|
||||
@ -391,78 +395,7 @@ begin
|
||||
Result := true;
|
||||
end;
|
||||
|
||||
(*
|
||||
|
||||
SetLength(ColNoSelected, 4);
|
||||
ACol := -1;
|
||||
BCol := -1;
|
||||
CCol := -1;
|
||||
YCol := -1;
|
||||
MinA := MaxInt;
|
||||
MaxA := -MaxInt;
|
||||
MinB := MaxInt;
|
||||
MaxB := -MaxInt;
|
||||
MinC := MaxInt;
|
||||
MaxC := -MaxInt;
|
||||
for i := 1 to NoVariables do
|
||||
begin
|
||||
strvalue := Trim(OS3MainFrm.DataGrid.Cells[i,0]);
|
||||
if FactorAEdit.Text = strvalue then
|
||||
begin
|
||||
ACol := i;
|
||||
ColNoSelected[0] := i;
|
||||
end;
|
||||
if FactorBEdit.Text = strvalue then
|
||||
begin
|
||||
BCol := i;
|
||||
ColNoSelected[1] := i;
|
||||
end;
|
||||
if FactorCEdit.Text = strvalue then
|
||||
begin
|
||||
CCol := i;
|
||||
ColNoSelected[2] := i;
|
||||
end;
|
||||
if DepEdit.Text = strvalue then
|
||||
begin
|
||||
YCol := i;
|
||||
ColNoSelected[3] := i;
|
||||
end;
|
||||
end;
|
||||
if (ACol = -1) or (BCol = -1) or (CCol = -1) or (YCol = -1) then
|
||||
begin
|
||||
MessageDlg('Select a variable for each entry box.', mtError, [mbOK], 0);
|
||||
exit;
|
||||
end;
|
||||
|
||||
// get number of levels for Factors
|
||||
for i := 1 to NoCases do
|
||||
begin
|
||||
cellstring := Trim(OS3MainFrm.DataGrid.Cells[ACol,i]);
|
||||
group := round(StrToFloat(cellstring));
|
||||
if (group > MaxA) then MaxA := group;
|
||||
if (group < MinA) then MinA := group;
|
||||
|
||||
cellstring := Trim(OS3MainFrm.DataGrid.Cells[BCol,i]);
|
||||
group := round(StrToFLoat(cellstring));
|
||||
if (group > MaxB) then MaxB := group;
|
||||
if (group < MinB) then MinB := group;
|
||||
|
||||
cellstring := Trim(OS3MainFrm.DataGrid.Cells[CCol,i]);
|
||||
group := round(StrToFLoat(cellstring));
|
||||
if (group > MaxC) then MaxC := group;
|
||||
if (group < MinC) then MinC := group;
|
||||
end;
|
||||
|
||||
NoALevels := MaxA - MinA + 1;
|
||||
NoBLevels := MaxB - MinB + 1;
|
||||
NoCLevels := MaxC - MinC + 1;
|
||||
|
||||
Result := true;
|
||||
end;
|
||||
*)
|
||||
|
||||
{ Allocates memory for all arrays needed. Setting the dynamic arrays to nil
|
||||
before allocation automatically resets the array contents. }
|
||||
procedure TABCNestedForm.GetMemory;
|
||||
begin
|
||||
SS := CubeCreate(NoBLevels, NoALevels, NoCLevels);
|
||||
@ -503,12 +436,10 @@ VAR
|
||||
Aindex, Bindex, Cindex, i, j, k: integer;
|
||||
YValue, YValueSqr: double;
|
||||
begin
|
||||
// clear memory
|
||||
// Accumulate sums and sums of squared values
|
||||
SSTot := 0.0;
|
||||
SumSqrTot := 0.0;
|
||||
TotN := 0;
|
||||
|
||||
// Accumulate sums and sums of squared values
|
||||
for i := 0 to High(DepValues) do
|
||||
begin
|
||||
AIndex := round(AValues[i]) - MinA;
|
||||
@ -637,51 +568,69 @@ begin
|
||||
lReport.Add('');
|
||||
|
||||
lReport.Add('CELL MEANS');
|
||||
lReport.Add('A LEVEL BLEVEL CLEVEL MEAN STD.DEV.');
|
||||
lReport.Add('-----------------------------------------------------');
|
||||
lReport.Add('A LEVEL B LEVEL C LEVEL MEAN STD.DEV. ');
|
||||
lReport.Add('------- ------- ------- ---------- ----------');
|
||||
for i := 0 to NoALevels-1 do
|
||||
for j := 0 to NoBLevels-1 do
|
||||
for k := 0 to NoCLevels-1 do
|
||||
if CellCount[j,i,k] > 0 then
|
||||
lReport.Add('%5d %5d %5d %10.4f %10.4f', [i+MinA, j+MinB, k+MinC, CellMeans[j,i,k], CellSDs[j,i,k]]);
|
||||
lReport.Add('%5d %5d %5d %10.3f %10.3f', [i+MinA, j+MinB, k+MinC, CellMeans[j,i,k], CellSDs[j,i,k]]);
|
||||
lReport.Add('-----------------------------------------------------');
|
||||
lReport.Add('');
|
||||
|
||||
lReport.Add('A MARGIN MEANS');
|
||||
lReport.Add('A LEVEL MEAN STD.DEV.');
|
||||
lReport.Add('---------------------------------');
|
||||
lReport.Add('A LEVEL MEAN STD.DEV. ');
|
||||
lReport.Add('------- ---------- ----------');
|
||||
for i := 0 to NoALevels-1 do
|
||||
lReport.Add('%5d %10.3f %10.3f', [i+MinA, AMeans[i], ASDs[i]]);
|
||||
lReport.Add('---------------------------------');
|
||||
lReport.Add('');
|
||||
|
||||
lReport.Add('B MARGIN MEANS');
|
||||
lReport.Add('B LEVEL MEAN STD.DEV.');
|
||||
lReport.Add('---------------------------------');
|
||||
lReport.Add('B LEVEL MEAN STD.DEV. ');
|
||||
lReport.Add('------- ---------- ----------');
|
||||
for i := 0 to NoBLevels-1 do
|
||||
if BCount[i] > 0 then
|
||||
lReport.Add('%5d %10.3f %10.3f', [i+MinB, BMeans[i], BSDs[i]]);
|
||||
lReport.Add('---------------------------------');
|
||||
lReport.Add('');
|
||||
|
||||
lReport.Add('C MARGIN MEANS');
|
||||
lReport.Add('C LEVEL MEAN STD.DEV.');
|
||||
lReport.Add('---------------------------------');
|
||||
lReport.Add('C LEVEL MEAN STD.DEV. ');
|
||||
lReport.Add('------- ---------- ----------');
|
||||
for i := 0 to NoCLevels-1 do
|
||||
if CCount[i] > 0 then
|
||||
lReport.Add('%5d %10.3f %10.3f', [i+MinC, CMeans[i], CSDs[i]]);
|
||||
|
||||
lReport.Add('---------------------------------');
|
||||
lReport.Add('');
|
||||
|
||||
lReport.Add('AB MARGIN MEANS');
|
||||
lReport.Add('A LEVEL B LEVEL MEAN STD.DEV.');
|
||||
lReport.Add('-------------------------------------------');
|
||||
lReport.Add('A LEVEL B LEVEL MEAN STD.DEV. ');
|
||||
lReport.Add('------- ------- ---------- ----------');
|
||||
for i := 0 to NoALevels-1 do
|
||||
for j := 0 to NoBLevels-1 do
|
||||
if ABCount[i,j] > 0 then
|
||||
lReport.Add('%5d %5D %10.3f %10.3f', [i+MinA, j+MinB, ABMeans[i,j], ABSDs[i,j]]);
|
||||
lReport.Add('%5d %5d %10.3f %10.3f', [i+MinA, j+MinB, ABMeans[i,j], ABSDs[i,j]]);
|
||||
lReport.Add('-------------------------------------------');
|
||||
lReport.Add('');
|
||||
|
||||
lReport.Add('AC MARGIN MEANS');
|
||||
lReport.Add('A LEVEL C LEVEL MEAN STD.DEV.');
|
||||
lReport.Add('-------------------------------------------');
|
||||
lReport.Add('A LEVEL C LEVEL MEAN STD.DEV. ');
|
||||
lReport.Add('------- ------- ---------- ----------');
|
||||
for i := 0 to NoALevels-1 do
|
||||
for j := 0 to NoCLevels-1 do
|
||||
if ACCount[i,j] > 0 then
|
||||
lReport.Add('%5d %5D %10.3f %10.3f',[i+MinA, j+MinC, ACMeans[i,j], ACSDs[i,j]]);
|
||||
lReport.Add('%5d %5d %10.3f %10.3f',[i+MinA, j+MinC, ACMeans[i,j], ACSDs[i,j]]);
|
||||
lReport.Add('-------------------------------------------');
|
||||
lReport.Add('');
|
||||
|
||||
lReport.Add('GRAND MEAN = %10.3f', [TotMean]);
|
||||
lReport.Add('GRAND MEAN: %10.3f', [TotMean]);
|
||||
lReport.Add('');
|
||||
|
||||
FMeansReportFrame.DisplayReport(lReport);
|
||||
@ -805,7 +754,7 @@ begin
|
||||
lReport.Add('Factor C: %s', [FactorCEdit.Text]);
|
||||
lReport.Add('');
|
||||
lReport.Add('ANOVA TABLE');
|
||||
lReport.Add('------------------------------------------------------------');
|
||||
lReport.Add('-------------------------------------------------------------');
|
||||
lReport.Add('SOURCE D.F. SS MS F PROB. ');
|
||||
lReport.Add('--------- ---- ---------- ---------- --------- ---------');
|
||||
|
||||
@ -831,7 +780,7 @@ begin
|
||||
|
||||
lReport.Add('w.cells %4d %10.3f %10.3f', [dfwcell, SSW, MSW]);
|
||||
lReport.Add('Total %4d %10.3f', [dftotal, SSTot]);
|
||||
lReport.Add('------------------------------------------------------------');
|
||||
lReport.Add('-------------------------------------------------------------');
|
||||
|
||||
FReportFrame.DisplayReport(lReport);
|
||||
|
||||
|
@ -196,30 +196,6 @@ begin
|
||||
FStyles := TChartStyles.Create(FChartFrame);
|
||||
|
||||
AddComboboxToToolbar(FChartFrame.ChartToolbar, 'Plots:', FChartCombobox);
|
||||
{
|
||||
panel := TPanel.Create(FChartFrame.ChartToolbar);
|
||||
lbl := TLabel.Create(panel);
|
||||
lbl.Parent := panel;
|
||||
lbl.Caption := 'Plots:';
|
||||
FChartCombobox := TCombobox.Create(panel);
|
||||
FChartCombobox.Parent := panel;
|
||||
FChartCombobox.Style := csDropdownList;
|
||||
FChartCombobox.DropdownCount := 24;
|
||||
FChartCombobox.Items.Clear;
|
||||
FChartCombobox.Constraints.MinWidth := 300;
|
||||
lbl.AnchorSideLeft.Side := asrTop;
|
||||
lbl.AnchorSideLeft.Control := panel;
|
||||
lbl.AnchorSideTop.Side := asrCenter;
|
||||
lbl.AnchorSideTop.Control := FChartCombobox;
|
||||
FChartCombobox.AnchorSideLeft.Control := lbl;
|
||||
FChartCombobox.AnchorSideLeft.Side := asrBottom;
|
||||
FChartCombobox.BorderSpacing.Left := 6;
|
||||
FChartCombobox.BorderSpacing.Around := 2;
|
||||
panel.Parent := FChartFrame.ChartToolbar;
|
||||
panel.AutoSize := true;
|
||||
panel.BevelInner := bvNone;
|
||||
panel.BevelOuter := bvNone;
|
||||
}
|
||||
FChartFrame.Chart.Margins.Bottom := 0;
|
||||
|
||||
PageControl.ActivePageIndex := 0;
|
||||
|
@ -1,370 +1,330 @@
|
||||
object BNestedAForm: TBNestedAForm
|
||||
inherited BNestedAForm: TBNestedAForm
|
||||
Left = 768
|
||||
Height = 498
|
||||
Height = 432
|
||||
Top = 238
|
||||
Width = 488
|
||||
AutoSize = True
|
||||
Width = 544
|
||||
Caption = 'Factor B Nested in Factor A Analysis of Variance'
|
||||
ClientHeight = 498
|
||||
ClientWidth = 488
|
||||
OnActivate = FormActivate
|
||||
OnCreate = FormCreate
|
||||
OnShow = ResetBtnClick
|
||||
Position = poMainFormCenter
|
||||
LCLVersion = '2.0.10.0'
|
||||
object Label1: TLabel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Memo1
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 15
|
||||
Top = 114
|
||||
Width = 100
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 16
|
||||
Caption = 'Available Variables:'
|
||||
ParentColor = False
|
||||
ClientHeight = 432
|
||||
ClientWidth = 544
|
||||
inherited ParamsPanel: TPanel
|
||||
Height = 416
|
||||
Width = 315
|
||||
ClientHeight = 416
|
||||
ClientWidth = 315
|
||||
inherited CloseBtn: TButton
|
||||
Left = 260
|
||||
Top = 391
|
||||
TabOrder = 15
|
||||
end
|
||||
object Label2: TLabel
|
||||
AnchorSideLeft.Control = AInBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = ACodes
|
||||
Left = 266
|
||||
Height = 15
|
||||
Top = 138
|
||||
Width = 88
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Bottom = 2
|
||||
Caption = 'Factor A Variable'
|
||||
ParentColor = False
|
||||
inherited ComputeBtn: TButton
|
||||
Left = 176
|
||||
Top = 391
|
||||
TabOrder = 14
|
||||
end
|
||||
object Label3: TLabel
|
||||
AnchorSideLeft.Control = BInBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = BCodes
|
||||
Left = 266
|
||||
Height = 15
|
||||
Top = 222
|
||||
Width = 115
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Bottom = 2
|
||||
Caption = 'Factor B (Nested in A)'
|
||||
ParentColor = False
|
||||
inherited ResetBtn: TButton
|
||||
Left = 114
|
||||
Top = 391
|
||||
TabOrder = 13
|
||||
end
|
||||
object Label4: TLabel
|
||||
AnchorSideLeft.Control = DepInBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = DepEdit
|
||||
Left = 266
|
||||
Height = 15
|
||||
Top = 317
|
||||
Width = 102
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Bottom = 2
|
||||
Caption = 'Dependent Variable'
|
||||
ParentColor = False
|
||||
inherited HelpBtn: TButton
|
||||
Tag = 171
|
||||
Left = 55
|
||||
Top = 391
|
||||
TabOrder = 12
|
||||
end
|
||||
object VarList: TListBox
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Label1
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = AInBtn
|
||||
AnchorSideBottom.Control = OptionsBox
|
||||
Left = 9
|
||||
Height = 239
|
||||
Top = 130
|
||||
Width = 213
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 9
|
||||
BorderSpacing.Top = 1
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
OnSelectionChange = VarListSelectionChange
|
||||
TabOrder = 0
|
||||
inherited ButtonBevel: TBevel
|
||||
Top = 375
|
||||
Width = 315
|
||||
end
|
||||
object AInBtn: TBitBtn
|
||||
AnchorSideLeft.Control = Owner
|
||||
object AInBtn: TBitBtn[5]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = VarList
|
||||
Left = 230
|
||||
Height = 28
|
||||
Top = 130
|
||||
Width = 28
|
||||
AnchorSideTop.Control = DepOutBtn
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 144
|
||||
Height = 26
|
||||
Top = 96
|
||||
Width = 26
|
||||
BorderSpacing.Top = 24
|
||||
Images = MainDataModule.ImageList
|
||||
ImageIndex = 1
|
||||
OnClick = AInBtnClick
|
||||
Spacing = 0
|
||||
TabOrder = 1
|
||||
TabOrder = 4
|
||||
end
|
||||
object AOutBtn: TBitBtn
|
||||
AnchorSideLeft.Control = Owner
|
||||
object AOutBtn: TBitBtn[6]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = AInBtn
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 230
|
||||
Height = 28
|
||||
Top = 162
|
||||
Width = 28
|
||||
Left = 144
|
||||
Height = 26
|
||||
Top = 126
|
||||
Width = 26
|
||||
BorderSpacing.Top = 4
|
||||
Images = MainDataModule.ImageList
|
||||
ImageIndex = 0
|
||||
OnClick = AOutBtnClick
|
||||
Spacing = 0
|
||||
TabOrder = 2
|
||||
TabOrder = 5
|
||||
end
|
||||
object BInBtn: TBitBtn
|
||||
AnchorSideLeft.Control = Owner
|
||||
object BInBtn: TBitBtn[7]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = AOutBtn
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 230
|
||||
Height = 28
|
||||
Top = 214
|
||||
Width = 28
|
||||
Left = 144
|
||||
Height = 26
|
||||
Top = 176
|
||||
Width = 26
|
||||
BorderSpacing.Top = 24
|
||||
Images = MainDataModule.ImageList
|
||||
ImageIndex = 1
|
||||
OnClick = BInBtnClick
|
||||
Spacing = 0
|
||||
TabOrder = 4
|
||||
TabOrder = 7
|
||||
end
|
||||
object BOutBtn: TBitBtn
|
||||
AnchorSideLeft.Control = Owner
|
||||
object BOutBtn: TBitBtn[8]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = BInBtn
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 230
|
||||
Height = 28
|
||||
Top = 246
|
||||
Width = 28
|
||||
Left = 144
|
||||
Height = 26
|
||||
Top = 206
|
||||
Width = 26
|
||||
BorderSpacing.Top = 4
|
||||
Images = MainDataModule.ImageList
|
||||
ImageIndex = 0
|
||||
OnClick = BOutBtnClick
|
||||
Spacing = 0
|
||||
TabOrder = 5
|
||||
TabOrder = 8
|
||||
end
|
||||
object DepInBtn: TBitBtn
|
||||
AnchorSideLeft.Control = Owner
|
||||
object DepInBtn: TBitBtn[9]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = RandomBChk
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 230
|
||||
Height = 28
|
||||
Top = 309
|
||||
Width = 28
|
||||
BorderSpacing.Top = 8
|
||||
AnchorSideTop.Control = VarList
|
||||
Left = 144
|
||||
Height = 26
|
||||
Top = 16
|
||||
Width = 26
|
||||
Images = MainDataModule.ImageList
|
||||
ImageIndex = 1
|
||||
OnClick = DepInBtnClick
|
||||
Spacing = 0
|
||||
TabOrder = 8
|
||||
TabOrder = 1
|
||||
end
|
||||
object DepOutBtn: TBitBtn
|
||||
AnchorSideLeft.Control = Owner
|
||||
object DepOutBtn: TBitBtn[10]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = DepInBtn
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 230
|
||||
Height = 28
|
||||
Top = 341
|
||||
Width = 28
|
||||
Left = 144
|
||||
Height = 26
|
||||
Top = 46
|
||||
Width = 26
|
||||
BorderSpacing.Top = 4
|
||||
Images = MainDataModule.ImageList
|
||||
ImageIndex = 0
|
||||
OnClick = DepOutBtnClick
|
||||
Spacing = 0
|
||||
TabOrder = 9
|
||||
TabOrder = 2
|
||||
end
|
||||
object ACodes: TEdit
|
||||
object Label1: TLabel[11]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideTop.Control = ParamsPanel
|
||||
Left = 0
|
||||
Height = 15
|
||||
Top = 0
|
||||
Width = 100
|
||||
Caption = 'Available Variables:'
|
||||
ParentColor = False
|
||||
end
|
||||
object VarList: TListBox[12]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideTop.Control = Label1
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = AInBtn
|
||||
AnchorSideBottom.Control = PlotOptionsGroup
|
||||
Left = 0
|
||||
Height = 279
|
||||
Top = 16
|
||||
Width = 138
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Top = 1
|
||||
BorderSpacing.Right = 6
|
||||
BorderSpacing.Bottom = 8
|
||||
ItemHeight = 0
|
||||
MultiSelect = True
|
||||
OnDblClick = VarListDblClick
|
||||
OnSelectionChange = VarListSelectionChange
|
||||
TabOrder = 0
|
||||
end
|
||||
object Label2: TLabel[13]
|
||||
AnchorSideLeft.Control = AInBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideBottom.Control = ACodesEdit
|
||||
Left = 170
|
||||
Height = 15
|
||||
Top = 100
|
||||
Width = 88
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Bottom = 2
|
||||
Caption = 'Factor A Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label3: TLabel[14]
|
||||
AnchorSideLeft.Control = BCodesEdit
|
||||
AnchorSideBottom.Control = BCodesEdit
|
||||
Left = 176
|
||||
Height = 15
|
||||
Top = 180
|
||||
Width = 115
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Bottom = 2
|
||||
Caption = 'Factor B (Nested in A)'
|
||||
ParentColor = False
|
||||
end
|
||||
object Label4: TLabel[15]
|
||||
AnchorSideLeft.Control = DepEdit
|
||||
AnchorSideBottom.Control = DepEdit
|
||||
Left = 176
|
||||
Height = 15
|
||||
Top = 20
|
||||
Width = 102
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Bottom = 2
|
||||
Caption = 'Dependent Variable'
|
||||
ParentColor = False
|
||||
end
|
||||
object ACodesEdit: TEdit[16]
|
||||
AnchorSideLeft.Control = AInBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideRight.Control = ParamsPanel
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = AOutBtn
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 266
|
||||
Left = 176
|
||||
Height = 23
|
||||
Top = 155
|
||||
Width = 214
|
||||
Top = 117
|
||||
Width = 139
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 12
|
||||
ReadOnly = True
|
||||
TabOrder = 3
|
||||
Text = 'ACodes'
|
||||
end
|
||||
object BCodes: TEdit
|
||||
AnchorSideLeft.Control = BInBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = BOutBtn
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 266
|
||||
Height = 23
|
||||
Top = 239
|
||||
Width = 214
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Bottom = 12
|
||||
ReadOnly = True
|
||||
TabOrder = 6
|
||||
Text = 'BCodes'
|
||||
Text = 'ACodesEdit'
|
||||
end
|
||||
object ResetBtn: TButton
|
||||
AnchorSideRight.Control = ComputeBtn
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 275
|
||||
Height = 25
|
||||
Top = 465
|
||||
Width = 54
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 12
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Reset'
|
||||
OnClick = ResetBtnClick
|
||||
TabOrder = 12
|
||||
end
|
||||
object ComputeBtn: TButton
|
||||
AnchorSideRight.Control = CloseBtn
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 337
|
||||
Height = 25
|
||||
Top = 465
|
||||
Width = 76
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Compute'
|
||||
OnClick = ComputeBtnClick
|
||||
TabOrder = 13
|
||||
end
|
||||
object CloseBtn: TButton
|
||||
AnchorSideRight.Control = Owner
|
||||
object BCodesEdit: TEdit[17]
|
||||
AnchorSideLeft.Control = BInBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = ParamsPanel
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Control = BOutBtn
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 421
|
||||
Height = 25
|
||||
Top = 465
|
||||
Width = 55
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 12
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Close'
|
||||
ModalResult = 11
|
||||
TabOrder = 14
|
||||
Left = 176
|
||||
Height = 23
|
||||
Top = 197
|
||||
Width = 139
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Bottom = 12
|
||||
ReadOnly = True
|
||||
TabOrder = 9
|
||||
Text = 'BCodesEdit'
|
||||
end
|
||||
object DepEdit: TEdit
|
||||
object DepEdit: TEdit[18]
|
||||
AnchorSideLeft.Control = DepInBtn
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Control = ParamsPanel
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = DepOutBtn
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 266
|
||||
Left = 176
|
||||
Height = 23
|
||||
Top = 334
|
||||
Width = 214
|
||||
Top = 37
|
||||
Width = 139
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Bottom = 12
|
||||
ReadOnly = True
|
||||
TabOrder = 10
|
||||
TabOrder = 3
|
||||
Text = 'DepEdit'
|
||||
end
|
||||
object OptionsBox: TRadioGroup
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideBottom.Control = ButtonBevel
|
||||
Left = 8
|
||||
Height = 72
|
||||
Top = 377
|
||||
Width = 466
|
||||
Anchors = [akLeft, akBottom]
|
||||
AutoFill = True
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 8
|
||||
Caption = 'OptionsBox'
|
||||
ChildSizing.LeftRightSpacing = 12
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.HorizontalSpacing = 16
|
||||
ChildSizing.VerticalSpacing = 2
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 2
|
||||
ClientHeight = 52
|
||||
ClientWidth = 462
|
||||
Columns = 2
|
||||
Items.Strings = (
|
||||
'Plot means using 2D Horizontal Bars'
|
||||
'Plot means using 3D Horizontal Bars'
|
||||
'Plot means using 2D Vertical Bars'
|
||||
'Plot means using 3D Vertical Bars'
|
||||
)
|
||||
TabOrder = 11
|
||||
end
|
||||
object RandomBChk: TCheckBox
|
||||
AnchorSideLeft.Control = BCodes
|
||||
AnchorSideTop.Control = BOutBtn
|
||||
object RandomBChk: TCheckBox[19]
|
||||
AnchorSideLeft.Control = BCodesEdit
|
||||
AnchorSideTop.Control = BCodesEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 266
|
||||
Left = 176
|
||||
Height = 19
|
||||
Top = 282
|
||||
Top = 232
|
||||
Width = 136
|
||||
BorderSpacing.Top = 8
|
||||
Caption = 'B is random, not fixed'
|
||||
TabOrder = 7
|
||||
TabOrder = 10
|
||||
end
|
||||
object Memo1: TLabel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 90
|
||||
Top = 8
|
||||
Width = 472
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
Caption = 'Directions: This analysis assumes that levels of Factor B are Nested within levels of Factor A. Unless otherwise specified, it is assumed that Factors A and B are fixed level factors. If Factor B is a random variable, check the provided box to indicate this.'#13#10#13#10'The number of cases for each B group should be equal and the number of B treatements in each A level should be equal.'
|
||||
ParentColor = False
|
||||
WordWrap = True
|
||||
end
|
||||
object ButtonBevel: TBevel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = CloseBtn
|
||||
object PlotOptionsGroup: TGroupBox[20]
|
||||
AnchorSideLeft.Control = ParamsPanel
|
||||
AnchorSideBottom.Control = ButtonBevel
|
||||
Left = 0
|
||||
Height = 8
|
||||
Top = 449
|
||||
Width = 488
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
Shape = bsBottomLine
|
||||
Height = 72
|
||||
Top = 303
|
||||
Width = 106
|
||||
Anchors = [akLeft, akBottom]
|
||||
AutoSize = True
|
||||
Caption = 'Plot options'
|
||||
ClientHeight = 52
|
||||
ClientWidth = 102
|
||||
TabOrder = 11
|
||||
object ShowPlotsChk: TCheckBox
|
||||
AnchorSideLeft.Control = PlotOptionsGroup
|
||||
AnchorSideTop.Control = PlotOptionsGroup
|
||||
Left = 12
|
||||
Height = 19
|
||||
Top = 6
|
||||
Width = 78
|
||||
BorderSpacing.Left = 12
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 12
|
||||
Caption = 'Show plots'
|
||||
Checked = True
|
||||
OnChange = ShowPlotsChkChange
|
||||
State = cbChecked
|
||||
TabOrder = 0
|
||||
end
|
||||
object Plot3DChk: TCheckBox
|
||||
AnchorSideLeft.Control = ShowPlotsChk
|
||||
AnchorSideTop.Control = ShowPlotsChk
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 32
|
||||
Height = 19
|
||||
Top = 25
|
||||
Width = 34
|
||||
BorderSpacing.Left = 20
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = '3D'
|
||||
OnChange = Plot3DChkChange
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited ParamsSplitter: TSplitter
|
||||
Left = 327
|
||||
Height = 432
|
||||
end
|
||||
inherited PageControl: TPageControl
|
||||
Left = 336
|
||||
Height = 416
|
||||
Width = 200
|
||||
TabIndex = 2
|
||||
inherited ReportPage: TTabSheet
|
||||
Caption = 'ANOVA Results'
|
||||
end
|
||||
object MeansPage: TTabSheet[1]
|
||||
Caption = 'Means'
|
||||
end
|
||||
inherited ChartPage: TTabSheet[2]
|
||||
Caption = 'Plots'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user