You've already forked lazarus-ccr
LazStats: Inherit SensUnit from TBasicStatsReportAndChartForm. Change layout to be similar that of to the other forms.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7833 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -67,3 +67,4 @@ correlation, means, standard deviations and confidence interval for each correla
|
|||||||
163=The Resistant Line procedure creates three equal groups by sorting on the X variable and obtaining the median value of each group.\n\nThe median values for these three groups on both the X and Y variables are then plotted. The line from the low group median to the middle group median is plotted as well as the line from the middle group to the top group median. A comparison of the slope of these two lines gives an indication of the degree to which the data fit a straight line. Enter the X and Y variables to be analyzed and click the compute button.
|
163=The Resistant Line procedure creates three equal groups by sorting on the X variable and obtaining the median value of each group.\n\nThe median values for these three groups on both the X and Y variables are then plotted. The line from the low group median to the middle group median is plotted as well as the line from the middle group to the top group median. A comparison of the slope of these two lines gives an indication of the degree to which the data fit a straight line. Enter the X and Y variables to be analyzed and click the compute button.
|
||||||
164=This procedure smooths data by averaging every three data points starting with the first three to the last three. The data smoothing can be repeated multiple times. The first and last data points are unchanged.
|
164=This procedure smooths data by averaging every three data points starting with the first three to the last three. The data smoothing can be repeated multiple times. The first and last data points are unchanged.
|
||||||
165=This is a test for the randomness of a series of values in a variable. Select the variable to analyze and click the Compute button.
|
165=This is a test for the randomness of a series of values in a variable. Select the variable to analyze and click the Compute button.
|
||||||
|
166=Sens method for the detection and estimation of trents is used to analyze one or more variable observations collected at equally spaced intervals of time.\nFirst, select one or more series variables to analyze.\nNext, if you have entered more than one variable, indicate how the measures are to be combined (mean or median) and if the values are to be standardized (z scores with mean of 0 and standard deviation of 1.)\nFinally, select the options desired and click the compute button to complete the analysis.
|
@ -1,351 +1,300 @@
|
|||||||
object SensForm: TSensForm
|
inherited SensForm: TSensForm
|
||||||
Left = 288
|
Left = 414
|
||||||
Height = 579
|
Height = 416
|
||||||
Top = 161
|
Top = 163
|
||||||
Width = 478
|
Width = 936
|
||||||
HelpType = htKeyword
|
HelpType = htKeyword
|
||||||
HelpKeyword = 'html/SensSlopeAnalysis.htm'
|
HelpKeyword = 'html/SensSlopeAnalysis.htm'
|
||||||
AutoSize = True
|
|
||||||
Caption = 'Sens Trend Analysis'
|
Caption = 'Sens Trend Analysis'
|
||||||
ClientHeight = 579
|
ClientHeight = 416
|
||||||
ClientWidth = 478
|
ClientWidth = 936
|
||||||
OnActivate = FormActivate
|
inherited ParamsPanel: TPanel
|
||||||
OnCreate = FormCreate
|
Height = 400
|
||||||
OnShow = ResetBtnClick
|
Width = 344
|
||||||
Position = poMainFormCenter
|
ClientHeight = 400
|
||||||
LCLVersion = '2.1.0.0'
|
ClientWidth = 344
|
||||||
object GroupBox1: TGroupBox
|
inherited CloseBtn: TButton
|
||||||
AnchorSideTop.Control = Memo1
|
Left = 289
|
||||||
AnchorSideTop.Side = asrBottom
|
Top = 375
|
||||||
AnchorSideRight.Control = InBtn
|
|
||||||
Left = 43
|
|
||||||
Height = 72
|
|
||||||
Top = 129
|
|
||||||
Width = 182
|
|
||||||
Anchors = [akTop, akRight]
|
|
||||||
AutoSize = True
|
|
||||||
BorderSpacing.Top = 16
|
|
||||||
Caption = 'If more than one variable:'
|
|
||||||
ChildSizing.LeftRightSpacing = 12
|
|
||||||
ChildSizing.TopBottomSpacing = 6
|
|
||||||
ChildSizing.VerticalSpacing = 2
|
|
||||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
|
||||||
ClientHeight = 52
|
|
||||||
ClientWidth = 178
|
|
||||||
TabOrder = 0
|
|
||||||
object StandardizeChk: TCheckBox
|
|
||||||
Left = 12
|
|
||||||
Height = 19
|
|
||||||
Top = 6
|
|
||||||
Width = 154
|
|
||||||
Caption = 'Standardize the measures'
|
|
||||||
TabOrder = 0
|
|
||||||
end
|
end
|
||||||
object AvgSlopeChk: TCheckBox
|
inherited ComputeBtn: TButton
|
||||||
Left = 12
|
Left = 205
|
||||||
Height = 19
|
Top = 375
|
||||||
Top = 27
|
end
|
||||||
Width = 154
|
inherited ResetBtn: TButton
|
||||||
Caption = 'Calculate Average Slope'
|
Left = 143
|
||||||
TabOrder = 1
|
Top = 375
|
||||||
|
end
|
||||||
|
inherited HelpBtn: TButton
|
||||||
|
Tag = 166
|
||||||
|
Left = 84
|
||||||
|
Top = 375
|
||||||
|
end
|
||||||
|
inherited ButtonBevel: TBevel
|
||||||
|
Top = 359
|
||||||
|
Width = 344
|
||||||
|
end
|
||||||
|
object Label2: TLabel[5]
|
||||||
|
AnchorSideLeft.Control = ParamsPanel
|
||||||
|
AnchorSideTop.Control = ParamsPanel
|
||||||
|
Left = 0
|
||||||
|
Height = 15
|
||||||
|
Top = 0
|
||||||
|
Width = 100
|
||||||
|
Caption = 'Available Variables:'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object VarList: TListBox[6]
|
||||||
|
AnchorSideLeft.Control = ParamsPanel
|
||||||
|
AnchorSideTop.Control = Label2
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = AllBtn
|
||||||
|
AnchorSideBottom.Control = GroupBox1
|
||||||
|
Left = 0
|
||||||
|
Height = 162
|
||||||
|
Top = 17
|
||||||
|
Width = 146
|
||||||
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
|
BorderSpacing.Top = 2
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
BorderSpacing.Bottom = 12
|
||||||
|
ItemHeight = 0
|
||||||
|
MultiSelect = True
|
||||||
|
OnDblClick = VarListDblClick
|
||||||
|
OnSelectionChange = VarListSelectionChange
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
object InBtn: TBitBtn[7]
|
||||||
|
AnchorSideLeft.Control = ParamsPanel
|
||||||
|
AnchorSideLeft.Side = asrCenter
|
||||||
|
AnchorSideTop.Control = VarList
|
||||||
|
Left = 159
|
||||||
|
Height = 26
|
||||||
|
Top = 17
|
||||||
|
Width = 26
|
||||||
|
Images = MainDataModule.ImageList
|
||||||
|
ImageIndex = 1
|
||||||
|
OnClick = InBtnClick
|
||||||
|
Spacing = 0
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
|
object OutBtn: TBitBtn[8]
|
||||||
|
AnchorSideLeft.Control = ParamsPanel
|
||||||
|
AnchorSideLeft.Side = asrCenter
|
||||||
|
AnchorSideTop.Control = InBtn
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 159
|
||||||
|
Height = 26
|
||||||
|
Top = 47
|
||||||
|
Width = 26
|
||||||
|
BorderSpacing.Top = 4
|
||||||
|
Images = MainDataModule.ImageList
|
||||||
|
ImageIndex = 0
|
||||||
|
OnClick = OutBtnClick
|
||||||
|
Spacing = 0
|
||||||
|
TabOrder = 6
|
||||||
|
end
|
||||||
|
object AllBtn: TBitBtn[9]
|
||||||
|
AnchorSideLeft.Control = ParamsPanel
|
||||||
|
AnchorSideLeft.Side = asrCenter
|
||||||
|
AnchorSideTop.Control = OutBtn
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 152
|
||||||
|
Height = 25
|
||||||
|
Top = 89
|
||||||
|
Width = 40
|
||||||
|
AutoSize = True
|
||||||
|
BorderSpacing.Top = 16
|
||||||
|
Caption = 'All'
|
||||||
|
OnClick = AllBtnClick
|
||||||
|
Spacing = 0
|
||||||
|
TabOrder = 7
|
||||||
|
end
|
||||||
|
object GroupBox3: TGroupBox[10]
|
||||||
|
AnchorSideTop.Control = GroupBox1
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = InBtn
|
||||||
|
AnchorSideBottom.Control = ButtonBevel
|
||||||
|
Left = 35
|
||||||
|
Height = 101
|
||||||
|
Top = 254
|
||||||
|
Width = 124
|
||||||
|
Anchors = [akRight, akBottom]
|
||||||
|
AutoSize = True
|
||||||
|
BorderSpacing.Top = 12
|
||||||
|
BorderSpacing.Bottom = 4
|
||||||
|
Caption = 'Report'
|
||||||
|
ChildSizing.LeftRightSpacing = 12
|
||||||
|
ChildSizing.TopBottomSpacing = 8
|
||||||
|
ChildSizing.VerticalSpacing = 4
|
||||||
|
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||||
|
ClientHeight = 81
|
||||||
|
ClientWidth = 120
|
||||||
|
TabOrder = 8
|
||||||
|
object PrtDataChk: TCheckBox
|
||||||
|
Left = 12
|
||||||
|
Height = 19
|
||||||
|
Top = 8
|
||||||
|
Width = 96
|
||||||
|
Caption = 'Data'
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object PrtSlopesChk: TCheckBox
|
||||||
|
Left = 12
|
||||||
|
Height = 19
|
||||||
|
Top = 31
|
||||||
|
Width = 96
|
||||||
|
Caption = 'Slopes Matrix'
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object PrtRanksChk: TCheckBox
|
||||||
|
Left = 12
|
||||||
|
Height = 19
|
||||||
|
Top = 54
|
||||||
|
Width = 96
|
||||||
|
Caption = 'Ranked Slopes'
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object GroupBox2: TGroupBox[11]
|
||||||
|
AnchorSideLeft.Control = InBtn
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = GroupBox3
|
||||||
|
Left = 185
|
||||||
|
Height = 72
|
||||||
|
Top = 254
|
||||||
|
Width = 124
|
||||||
|
AutoSize = True
|
||||||
|
Caption = 'Plot'
|
||||||
|
ChildSizing.LeftRightSpacing = 12
|
||||||
|
ChildSizing.TopBottomSpacing = 6
|
||||||
|
ChildSizing.VerticalSpacing = 2
|
||||||
|
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||||
|
ClientHeight = 52
|
||||||
|
ClientWidth = 120
|
||||||
|
TabOrder = 9
|
||||||
|
object PlotChk: TCheckBox
|
||||||
|
Left = 12
|
||||||
|
Height = 19
|
||||||
|
Top = 6
|
||||||
|
Width = 96
|
||||||
|
Caption = 'Each Variable'
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object SlopesChk: TCheckBox
|
||||||
|
Left = 12
|
||||||
|
Height = 19
|
||||||
|
Top = 27
|
||||||
|
Width = 96
|
||||||
|
Caption = 'Ranked Slopes'
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object GroupBox1: TGroupBox[12]
|
||||||
|
AnchorSideLeft.Control = ParamsPanel
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = InBtn
|
||||||
|
AnchorSideBottom.Control = GroupBox2
|
||||||
|
Left = 0
|
||||||
|
Height = 51
|
||||||
|
Top = 191
|
||||||
|
Width = 341
|
||||||
|
Anchors = [akLeft, akBottom]
|
||||||
|
AutoSize = True
|
||||||
|
BorderSpacing.Bottom = 12
|
||||||
|
Caption = 'If more than one variable:'
|
||||||
|
ChildSizing.LeftRightSpacing = 12
|
||||||
|
ChildSizing.TopBottomSpacing = 6
|
||||||
|
ChildSizing.HorizontalSpacing = 12
|
||||||
|
ChildSizing.VerticalSpacing = 2
|
||||||
|
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||||
|
ChildSizing.ControlsPerLine = 2
|
||||||
|
ClientHeight = 31
|
||||||
|
ClientWidth = 337
|
||||||
|
TabOrder = 10
|
||||||
|
object StandardizeChk: TRadioButton
|
||||||
|
Left = 12
|
||||||
|
Height = 19
|
||||||
|
Top = 6
|
||||||
|
Width = 154
|
||||||
|
Caption = 'Standardize the measures'
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object AvgSlopeChk: TRadioButton
|
||||||
|
Left = 178
|
||||||
|
Height = 19
|
||||||
|
Top = 6
|
||||||
|
Width = 147
|
||||||
|
Caption = 'Calculate Average Slope'
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object Label1: TLabel[13]
|
||||||
|
AnchorSideLeft.Control = GroupBox2
|
||||||
|
AnchorSideTop.Control = AlphaEdit
|
||||||
|
AnchorSideTop.Side = asrCenter
|
||||||
|
Left = 185
|
||||||
|
Height = 15
|
||||||
|
Top = 338
|
||||||
|
Width = 64
|
||||||
|
Caption = 'Alpha Level:'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object AlphaEdit: TEdit[14]
|
||||||
|
AnchorSideLeft.Control = Label1
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = GroupBox2
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 257
|
||||||
|
Height = 23
|
||||||
|
Top = 334
|
||||||
|
Width = 47
|
||||||
|
Alignment = taRightJustify
|
||||||
|
BorderSpacing.Left = 8
|
||||||
|
BorderSpacing.Top = 8
|
||||||
|
TabOrder = 11
|
||||||
|
Text = '0.05'
|
||||||
|
end
|
||||||
|
object Label3: TLabel[15]
|
||||||
|
AnchorSideLeft.Control = SelectedList
|
||||||
|
AnchorSideTop.Control = Label2
|
||||||
|
Left = 198
|
||||||
|
Height = 15
|
||||||
|
Top = 0
|
||||||
|
Width = 107
|
||||||
|
Caption = 'Variables to Analyze:'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object SelectedList: TListBox[16]
|
||||||
|
AnchorSideLeft.Control = AllBtn
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = Label3
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = ParamsPanel
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
AnchorSideBottom.Control = VarList
|
||||||
|
AnchorSideBottom.Side = asrBottom
|
||||||
|
Left = 198
|
||||||
|
Height = 162
|
||||||
|
Top = 17
|
||||||
|
Width = 146
|
||||||
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
BorderSpacing.Top = 2
|
||||||
|
ItemHeight = 0
|
||||||
|
MultiSelect = True
|
||||||
|
OnDblClick = SelectedListDblClick
|
||||||
|
OnSelectionChange = VarListSelectionChange
|
||||||
|
TabOrder = 12
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox2: TGroupBox
|
inherited ParamsSplitter: TSplitter
|
||||||
AnchorSideLeft.Control = InBtn
|
Left = 356
|
||||||
AnchorSideLeft.Side = asrBottom
|
Height = 416
|
||||||
AnchorSideTop.Control = GroupBox1
|
|
||||||
Left = 253
|
|
||||||
Height = 72
|
|
||||||
Top = 129
|
|
||||||
Width = 124
|
|
||||||
AutoSize = True
|
|
||||||
Caption = 'Plot'
|
|
||||||
ChildSizing.LeftRightSpacing = 12
|
|
||||||
ChildSizing.TopBottomSpacing = 6
|
|
||||||
ChildSizing.VerticalSpacing = 2
|
|
||||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
|
||||||
ClientHeight = 52
|
|
||||||
ClientWidth = 120
|
|
||||||
TabOrder = 1
|
|
||||||
object PlotChk: TCheckBox
|
|
||||||
Left = 12
|
|
||||||
Height = 19
|
|
||||||
Top = 6
|
|
||||||
Width = 96
|
|
||||||
Caption = 'Each Variable'
|
|
||||||
TabOrder = 0
|
|
||||||
end
|
|
||||||
object SlopesChk: TCheckBox
|
|
||||||
Left = 12
|
|
||||||
Height = 19
|
|
||||||
Top = 27
|
|
||||||
Width = 96
|
|
||||||
Caption = 'Ranked Slopes'
|
|
||||||
TabOrder = 1
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
object GroupBox3: TGroupBox
|
inherited PageControl: TPageControl
|
||||||
AnchorSideLeft.Control = GroupBox1
|
Left = 365
|
||||||
AnchorSideTop.Control = GroupBox1
|
Height = 400
|
||||||
AnchorSideTop.Side = asrBottom
|
Width = 563
|
||||||
AnchorSideRight.Control = InBtn
|
|
||||||
Left = 43
|
|
||||||
Height = 93
|
|
||||||
Top = 217
|
|
||||||
Width = 182
|
|
||||||
Anchors = [akTop, akLeft, akRight]
|
|
||||||
AutoSize = True
|
|
||||||
BorderSpacing.Top = 16
|
|
||||||
Caption = 'Print'
|
|
||||||
ChildSizing.LeftRightSpacing = 12
|
|
||||||
ChildSizing.TopBottomSpacing = 6
|
|
||||||
ChildSizing.VerticalSpacing = 2
|
|
||||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
|
||||||
ClientHeight = 73
|
|
||||||
ClientWidth = 178
|
|
||||||
TabOrder = 2
|
|
||||||
object PrtDataChk: TCheckBox
|
|
||||||
Left = 12
|
|
||||||
Height = 19
|
|
||||||
Top = 6
|
|
||||||
Width = 96
|
|
||||||
Caption = 'Data'
|
|
||||||
TabOrder = 0
|
|
||||||
end
|
|
||||||
object PrtSlopesChk: TCheckBox
|
|
||||||
Left = 12
|
|
||||||
Height = 19
|
|
||||||
Top = 27
|
|
||||||
Width = 96
|
|
||||||
Caption = 'Slopes Matrix'
|
|
||||||
TabOrder = 1
|
|
||||||
end
|
|
||||||
object PrtRanksChk: TCheckBox
|
|
||||||
Left = 12
|
|
||||||
Height = 19
|
|
||||||
Top = 48
|
|
||||||
Width = 96
|
|
||||||
Caption = 'Ranked Slopes'
|
|
||||||
TabOrder = 2
|
|
||||||
end
|
|
||||||
end
|
|
||||||
object Label1: TLabel
|
|
||||||
AnchorSideLeft.Control = InBtn
|
|
||||||
AnchorSideLeft.Side = asrBottom
|
|
||||||
AnchorSideTop.Control = AlphaEdit
|
|
||||||
AnchorSideTop.Side = asrCenter
|
|
||||||
Left = 253
|
|
||||||
Height = 15
|
|
||||||
Top = 221
|
|
||||||
Width = 64
|
|
||||||
Caption = 'Alpha Level:'
|
|
||||||
ParentColor = False
|
|
||||||
end
|
|
||||||
object AlphaEdit: TEdit
|
|
||||||
AnchorSideLeft.Control = Label1
|
|
||||||
AnchorSideLeft.Side = asrBottom
|
|
||||||
AnchorSideTop.Control = GroupBox3
|
|
||||||
Left = 325
|
|
||||||
Height = 23
|
|
||||||
Top = 217
|
|
||||||
Width = 47
|
|
||||||
Alignment = taRightJustify
|
|
||||||
BorderSpacing.Left = 8
|
|
||||||
TabOrder = 3
|
|
||||||
Text = '0.05'
|
|
||||||
end
|
|
||||||
object Label2: TLabel
|
|
||||||
AnchorSideLeft.Control = Owner
|
|
||||||
AnchorSideTop.Control = GroupBox3
|
|
||||||
AnchorSideTop.Side = asrBottom
|
|
||||||
Left = 8
|
|
||||||
Height = 15
|
|
||||||
Top = 318
|
|
||||||
Width = 100
|
|
||||||
BorderSpacing.Left = 8
|
|
||||||
BorderSpacing.Top = 8
|
|
||||||
Caption = 'Available Variables:'
|
|
||||||
ParentColor = False
|
|
||||||
end
|
|
||||||
object VarList: TListBox
|
|
||||||
AnchorSideLeft.Control = Owner
|
|
||||||
AnchorSideTop.Control = Label2
|
|
||||||
AnchorSideTop.Side = asrBottom
|
|
||||||
AnchorSideRight.Control = AllBtn
|
|
||||||
AnchorSideBottom.Control = Bevel1
|
|
||||||
Left = 8
|
|
||||||
Height = 200
|
|
||||||
Top = 335
|
|
||||||
Width = 200
|
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
|
||||||
BorderSpacing.Left = 8
|
|
||||||
BorderSpacing.Top = 2
|
|
||||||
BorderSpacing.Right = 8
|
|
||||||
Constraints.MinHeight = 200
|
|
||||||
ItemHeight = 0
|
|
||||||
MultiSelect = True
|
|
||||||
OnSelectionChange = VarListSelectionChange
|
|
||||||
TabOrder = 4
|
|
||||||
end
|
|
||||||
object InBtn: TBitBtn
|
|
||||||
AnchorSideLeft.Control = Owner
|
|
||||||
AnchorSideLeft.Side = asrCenter
|
|
||||||
AnchorSideTop.Control = VarList
|
|
||||||
Left = 225
|
|
||||||
Height = 28
|
|
||||||
Top = 335
|
|
||||||
Width = 28
|
|
||||||
Images = MainDataModule.ImageList
|
|
||||||
ImageIndex = 1
|
|
||||||
OnClick = InBtnClick
|
|
||||||
Spacing = 0
|
|
||||||
TabOrder = 5
|
|
||||||
end
|
|
||||||
object OutBtn: TBitBtn
|
|
||||||
AnchorSideLeft.Control = Owner
|
|
||||||
AnchorSideLeft.Side = asrCenter
|
|
||||||
AnchorSideTop.Control = InBtn
|
|
||||||
AnchorSideTop.Side = asrBottom
|
|
||||||
Left = 225
|
|
||||||
Height = 28
|
|
||||||
Top = 367
|
|
||||||
Width = 28
|
|
||||||
BorderSpacing.Top = 4
|
|
||||||
Images = MainDataModule.ImageList
|
|
||||||
ImageIndex = 0
|
|
||||||
OnClick = OutBtnClick
|
|
||||||
Spacing = 0
|
|
||||||
TabOrder = 6
|
|
||||||
end
|
|
||||||
object AllBtn: TBitBtn
|
|
||||||
AnchorSideLeft.Control = Owner
|
|
||||||
AnchorSideLeft.Side = asrCenter
|
|
||||||
AnchorSideTop.Control = OutBtn
|
|
||||||
AnchorSideTop.Side = asrBottom
|
|
||||||
Left = 216
|
|
||||||
Height = 25
|
|
||||||
Top = 411
|
|
||||||
Width = 46
|
|
||||||
AutoSize = True
|
|
||||||
BorderSpacing.Top = 16
|
|
||||||
Caption = 'ALL'
|
|
||||||
OnClick = AllBtnClick
|
|
||||||
Spacing = 0
|
|
||||||
TabOrder = 7
|
|
||||||
end
|
|
||||||
object Label3: TLabel
|
|
||||||
AnchorSideLeft.Control = SelectedList
|
|
||||||
AnchorSideTop.Control = Label2
|
|
||||||
Left = 270
|
|
||||||
Height = 15
|
|
||||||
Top = 318
|
|
||||||
Width = 107
|
|
||||||
Caption = 'Variables to Analyze:'
|
|
||||||
ParentColor = False
|
|
||||||
end
|
|
||||||
object SelectedList: TListBox
|
|
||||||
AnchorSideLeft.Control = AllBtn
|
|
||||||
AnchorSideLeft.Side = asrBottom
|
|
||||||
AnchorSideTop.Control = Label3
|
|
||||||
AnchorSideTop.Side = asrBottom
|
|
||||||
AnchorSideRight.Control = Owner
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
AnchorSideBottom.Control = Bevel1
|
|
||||||
Left = 270
|
|
||||||
Height = 195
|
|
||||||
Top = 335
|
|
||||||
Width = 200
|
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
|
||||||
BorderSpacing.Left = 8
|
|
||||||
BorderSpacing.Top = 2
|
|
||||||
BorderSpacing.Right = 8
|
|
||||||
ItemHeight = 0
|
|
||||||
MultiSelect = True
|
|
||||||
OnSelectionChange = VarListSelectionChange
|
|
||||||
TabOrder = 8
|
|
||||||
end
|
|
||||||
object ResetBtn: TButton
|
|
||||||
AnchorSideRight.Control = ComputeBtn
|
|
||||||
AnchorSideBottom.Control = Owner
|
|
||||||
AnchorSideBottom.Side = asrBottom
|
|
||||||
Left = 269
|
|
||||||
Height = 25
|
|
||||||
Top = 546
|
|
||||||
Width = 54
|
|
||||||
Anchors = [akRight, akBottom]
|
|
||||||
AutoSize = True
|
|
||||||
BorderSpacing.Left = 8
|
|
||||||
BorderSpacing.Top = 8
|
|
||||||
BorderSpacing.Right = 8
|
|
||||||
BorderSpacing.Bottom = 8
|
|
||||||
Caption = 'Reset'
|
|
||||||
OnClick = ResetBtnClick
|
|
||||||
TabOrder = 9
|
|
||||||
end
|
|
||||||
object ComputeBtn: TButton
|
|
||||||
AnchorSideRight.Control = CloseBtn
|
|
||||||
AnchorSideBottom.Control = Owner
|
|
||||||
AnchorSideBottom.Side = asrBottom
|
|
||||||
Left = 331
|
|
||||||
Height = 25
|
|
||||||
Top = 546
|
|
||||||
Width = 76
|
|
||||||
Anchors = [akRight, akBottom]
|
|
||||||
AutoSize = True
|
|
||||||
BorderSpacing.Left = 8
|
|
||||||
BorderSpacing.Top = 8
|
|
||||||
BorderSpacing.Right = 8
|
|
||||||
BorderSpacing.Bottom = 8
|
|
||||||
Caption = 'Compute'
|
|
||||||
OnClick = ComputeBtnClick
|
|
||||||
TabOrder = 10
|
|
||||||
end
|
|
||||||
object CloseBtn: TButton
|
|
||||||
AnchorSideRight.Control = Owner
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
AnchorSideBottom.Control = Owner
|
|
||||||
AnchorSideBottom.Side = asrBottom
|
|
||||||
Left = 415
|
|
||||||
Height = 25
|
|
||||||
Top = 546
|
|
||||||
Width = 55
|
|
||||||
Anchors = [akRight, akBottom]
|
|
||||||
AutoSize = True
|
|
||||||
BorderSpacing.Left = 8
|
|
||||||
BorderSpacing.Top = 8
|
|
||||||
BorderSpacing.Right = 8
|
|
||||||
BorderSpacing.Bottom = 8
|
|
||||||
Caption = 'Close'
|
|
||||||
ModalResult = 11
|
|
||||||
TabOrder = 11
|
|
||||||
end
|
|
||||||
object Memo1: TLabel
|
|
||||||
AnchorSideLeft.Control = Owner
|
|
||||||
AnchorSideTop.Control = Owner
|
|
||||||
AnchorSideRight.Control = Owner
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
Left = 8
|
|
||||||
Height = 105
|
|
||||||
Top = 8
|
|
||||||
Width = 462
|
|
||||||
Anchors = [akTop, akLeft, akRight]
|
|
||||||
BorderSpacing.Left = 8
|
|
||||||
BorderSpacing.Top = 8
|
|
||||||
BorderSpacing.Right = 8
|
|
||||||
Caption = 'Sens method for the detection and estimation of trents is used to analyze one or more variable observations collected at equally spaced intervals of time. First, select one or more series variables to analyze. Next, if you have entered more than one variable, indicate how the measures are to be combined (mean or median) and if the values are to be standardized '#13#10'(z scores with mean of 0 and standard deviation of 1.) Finally, select the options desired and click the compute button to complete the analysis.'
|
|
||||||
ParentColor = False
|
|
||||||
WordWrap = True
|
|
||||||
end
|
|
||||||
object Bevel1: TBevel
|
|
||||||
AnchorSideLeft.Control = Owner
|
|
||||||
AnchorSideRight.Control = Owner
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
AnchorSideBottom.Control = CloseBtn
|
|
||||||
Left = 0
|
|
||||||
Height = 8
|
|
||||||
Top = 530
|
|
||||||
Width = 478
|
|
||||||
Anchors = [akLeft, akRight, akBottom]
|
|
||||||
Shape = bsBottomLine
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -9,29 +9,26 @@ unit SensUnit;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||||
StdCtrls, Buttons, ExtCtrls,
|
StdCtrls, Buttons, ExtCtrls, ComCtrls,
|
||||||
MainUnit, Globals, FunctionsLib, OutputUnit,
|
MainUnit, Globals, FunctionsLib,
|
||||||
ContextHelpUnit, MatrixLib, GraphLib;
|
ContextHelpUnit, MatrixLib, GraphLib, BasicStatsReportAndChartFormUnit;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TSensForm }
|
{ TSensForm }
|
||||||
|
|
||||||
TSensForm = class(TForm)
|
TSensForm = class(TBasicStatsReportAndChartForm)
|
||||||
AllBtn: TBitBtn;
|
AllBtn: TBitBtn;
|
||||||
AlphaEdit: TEdit;
|
AlphaEdit: TEdit;
|
||||||
Bevel1: TBevel;
|
AvgSlopeChk: TRadioButton;
|
||||||
Memo1: TLabel;
|
|
||||||
ResetBtn: TButton;
|
|
||||||
ComputeBtn: TButton;
|
|
||||||
CloseBtn: TButton;
|
|
||||||
InBtn: TBitBtn;
|
InBtn: TBitBtn;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
Label2: TLabel;
|
Label2: TLabel;
|
||||||
Label3: TLabel;
|
Label3: TLabel;
|
||||||
SelectedList: TListBox;
|
SelectedList: TListBox;
|
||||||
OutBtn: TBitBtn;
|
OutBtn: TBitBtn;
|
||||||
|
StandardizeChk: TRadioButton;
|
||||||
VarList: TListBox;
|
VarList: TListBox;
|
||||||
PrtRanksChk: TCheckBox;
|
PrtRanksChk: TCheckBox;
|
||||||
PrtSlopesChk: TCheckBox;
|
PrtSlopesChk: TCheckBox;
|
||||||
@ -40,23 +37,23 @@ type
|
|||||||
SlopesChk: TCheckBox;
|
SlopesChk: TCheckBox;
|
||||||
PlotChk: TCheckBox;
|
PlotChk: TCheckBox;
|
||||||
GroupBox2: TGroupBox;
|
GroupBox2: TGroupBox;
|
||||||
StandardizeChk: TCheckBox;
|
|
||||||
AvgSlopeChk: TCheckBox;
|
|
||||||
GroupBox1: TGroupBox;
|
GroupBox1: TGroupBox;
|
||||||
procedure AllBtnClick(Sender: TObject);
|
procedure AllBtnClick(Sender: TObject);
|
||||||
procedure ComputeBtnClick(Sender: TObject);
|
|
||||||
procedure FormActivate(Sender: TObject);
|
|
||||||
procedure FormCreate(Sender: TObject);
|
|
||||||
procedure InBtnClick(Sender: TObject);
|
procedure InBtnClick(Sender: TObject);
|
||||||
procedure OutBtnClick(Sender: TObject);
|
procedure OutBtnClick(Sender: TObject);
|
||||||
procedure ResetBtnClick(Sender: TObject);
|
procedure SelectedListDblClick(Sender: TObject);
|
||||||
|
procedure VarListDblClick(Sender: TObject);
|
||||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||||
private
|
private
|
||||||
{ private declarations }
|
|
||||||
FAutoSized: Boolean;
|
protected
|
||||||
procedure UpdateBtnStates;
|
procedure AdjustConstraints; override;
|
||||||
|
procedure Compute; override;
|
||||||
|
procedure UpdateBtnStates; override;
|
||||||
|
|
||||||
public
|
public
|
||||||
{ public declarations }
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
procedure Reset; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -65,16 +62,52 @@ var
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
{$R *.lfm}
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Math,
|
Math,
|
||||||
Utils, MatrixUnit;
|
Utils, MatrixUnit;
|
||||||
|
|
||||||
{ TSensForm }
|
{ TSensForm }
|
||||||
|
|
||||||
procedure TSensForm.ResetBtnClick(Sender: TObject);
|
constructor TSensForm.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if GraphFrm = nil then
|
||||||
|
Application.CreateForm(TGraphFrm, GraphFrm);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TSensForm.AdjustConstraints;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ParamsPanel.Constraints.MinWidth := Max(
|
||||||
|
4*CloseBtn.Width + 3*CloseBtn.BorderSpacing.Left,
|
||||||
|
GroupBox1.Width
|
||||||
|
);
|
||||||
|
ParamsPanel.Constraints.MinHeight := AllBtn.Top + AllBtn.Height +
|
||||||
|
VarList.BorderSpacing.Bottom + GroupBox1.Height + GroupBox1.BorderSpacing.Bottom +
|
||||||
|
GroupBox3.Height + GroupBox3.BorderSpacing.Bottom +
|
||||||
|
ButtonBevel.Height + CloseBtn.BorderSpacing.Top + CloseBtn.Height;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TSensForm.AllBtnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
begin
|
begin
|
||||||
|
for i := 0 to VarList.Items.Count-1 do
|
||||||
|
SelectedList.Items.Add(VarList.Items[i]);
|
||||||
|
VarList.Clear;
|
||||||
|
UpdateBtnStates;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TSensForm.Reset;
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
AlphaEdit.Text := FormatFloat('0.00', DEFAULT_ALPHA_LEVEL);
|
AlphaEdit.Text := FormatFloat('0.00', DEFAULT_ALPHA_LEVEL);
|
||||||
StandardizeChk.Checked := false;
|
StandardizeChk.Checked := false;
|
||||||
PlotChk.Checked := false;
|
PlotChk.Checked := false;
|
||||||
@ -87,6 +120,7 @@ begin
|
|||||||
UpdateBtnStates;
|
UpdateBtnStates;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TSensForm.InBtnClick(Sender: TObject);
|
procedure TSensForm.InBtnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
@ -105,17 +139,8 @@ begin
|
|||||||
UpdateBtnStates;
|
UpdateBtnStates;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSensForm.AllBtnClick(Sender: TObject);
|
|
||||||
var
|
|
||||||
i: integer;
|
|
||||||
begin
|
|
||||||
for i := 0 to VarList.Items.Count-1 do
|
|
||||||
SelectedList.Items.Add(VarList.Items[i]);
|
|
||||||
VarList.Clear;
|
|
||||||
UpdateBtnStates;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSensForm.ComputeBtnClick(Sender: TObject);
|
procedure TSensForm.Compute;
|
||||||
var
|
var
|
||||||
//NoVars,
|
//NoVars,
|
||||||
noselected, count, half, q, tp, low, hi, col: integer;
|
noselected, count, half, q, tp, low, hi, col: integer;
|
||||||
@ -538,45 +563,13 @@ begin
|
|||||||
lReport.Add('Corresponding lower and upper slopes: (%8.3f, %8.3f)', [RankedQ[low],RankedQ[hi]]);
|
lReport.Add('Corresponding lower and upper slopes: (%8.3f, %8.3f)', [RankedQ[low],RankedQ[hi]]);
|
||||||
end; // end if average slope
|
end; // end if average slope
|
||||||
|
|
||||||
DisplayReport(lReport);
|
FReportFrame.DisplayReport(lReport);
|
||||||
|
|
||||||
finally
|
finally
|
||||||
lReport.Free;
|
lReport.Free;
|
||||||
AvgSlopes := nil;
|
|
||||||
Sorted := nil;
|
|
||||||
RankedQ := nil;
|
|
||||||
Slopes := nil;
|
|
||||||
Values := nil;
|
|
||||||
selected := nil;
|
|
||||||
ColLabels := nil;
|
|
||||||
RowLabels := nil;
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSensForm.FormActivate(Sender: TObject);
|
|
||||||
var
|
|
||||||
w: Integer;
|
|
||||||
begin
|
|
||||||
if FAutoSized then
|
|
||||||
exit;
|
|
||||||
|
|
||||||
w := MaxValue([ResetBtn.Width, ComputeBtn.Width, CloseBtn.Width]);
|
|
||||||
ResetBtn.Constraints.MinWidth := w;
|
|
||||||
ComputeBtn.Constraints.MinWidth := w;
|
|
||||||
CloseBtn.Constraints.MinWidth := w;
|
|
||||||
|
|
||||||
Constraints.MinWidth := Width;
|
|
||||||
Constraints.MinHeight := Height;
|
|
||||||
|
|
||||||
FAutoSized := true;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSensForm.FormCreate(Sender: TObject);
|
|
||||||
begin
|
|
||||||
Assert(OS3MainFrm <> nil);
|
|
||||||
if GraphFrm = nil then
|
|
||||||
Application.CreateForm(TGraphFrm, GraphFrm);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSensForm.OutBtnClick(Sender: TObject);
|
procedure TSensForm.OutBtnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
@ -596,20 +589,47 @@ begin
|
|||||||
UpdateBtnStates;
|
UpdateBtnStates;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSensForm.SelectedListDblClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
index: Integer;
|
||||||
|
begin
|
||||||
|
index := SelectedList.ItemIndex;
|
||||||
|
if index > -1 then
|
||||||
|
begin
|
||||||
|
VarList.Items.Add(SelectedList.Items[index]);
|
||||||
|
SelectedList.Items.Delete(index);
|
||||||
|
UpdateBtnStates;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TSensForm.UpdateBtnStates;
|
procedure TSensForm.UpdateBtnStates;
|
||||||
begin
|
begin
|
||||||
|
inherited;
|
||||||
InBtn.Enabled := AnySelected(VarList);
|
InBtn.Enabled := AnySelected(VarList);
|
||||||
OutBtn.Enabled := AnySelected(SelectedList);
|
OutBtn.Enabled := AnySelected(SelectedList);
|
||||||
AllBtn.Enabled := Varlist.Items.Count > 0;
|
AllBtn.Enabled := Varlist.Items.Count > 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TSensForm.VarListDblClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
index: Integer;
|
||||||
|
begin
|
||||||
|
index := VarList.ItemIndex;
|
||||||
|
if index > -1 then
|
||||||
|
begin
|
||||||
|
SelectedList.Items.Add(VarList.Items[index]);
|
||||||
|
VarList.Items.Delete(index);
|
||||||
|
UpdateBtnStates;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TSensForm.VarListSelectionChange(Sender: TObject; User: boolean);
|
procedure TSensForm.VarListSelectionChange(Sender: TObject; User: boolean);
|
||||||
begin
|
begin
|
||||||
UpdateBtnStates;
|
UpdateBtnStates;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
|
||||||
{$I sensunit.lrs}
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -1844,7 +1844,7 @@ procedure TOS3MainFrm.mnuAnalysisNonPar_SignTestClick(Sender: TObject);
|
|||||||
begin
|
begin
|
||||||
if SignTestFrm = nil then
|
if SignTestFrm = nil then
|
||||||
Application.CreateForm(TSignTestFrm, SignTestFrm);
|
Application.CreateForm(TSignTestFrm, SignTestFrm);
|
||||||
SignTestFrm.ShowModal;
|
SignTestFrm.Show;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Menu "Analysis" > "Nonparametric" > "Friedman Two-Way mnuAnalysisComp_Anova"
|
// Menu "Analysis" > "Nonparametric" > "Friedman Two-Way mnuAnalysisComp_Anova"
|
||||||
@ -1852,7 +1852,7 @@ procedure TOS3MainFrm.mnuAnalysisNonPar_FriedmanClick(Sender: TObject);
|
|||||||
begin
|
begin
|
||||||
if FriedmanFrm = nil then
|
if FriedmanFrm = nil then
|
||||||
Application.CreateForm(TFriedmanFrm, FriedmanFrm);
|
Application.CreateForm(TFriedmanFrm, FriedmanFrm);
|
||||||
FriedmanFrm.ShowModal;
|
FriedmanFrm.Show;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Menu "Analysis" > "Nonparametric" > "Probability of a Binomial Event"
|
// Menu "Analysis" > "Nonparametric" > "Probability of a Binomial Event"
|
||||||
@ -1900,7 +1900,7 @@ procedure TOS3MainFrm.mnuAnalysisNonPar_SensClick(Sender: TObject);
|
|||||||
begin
|
begin
|
||||||
if SensForm = nil then
|
if SensForm = nil then
|
||||||
Application.CreateForm(TSensForm, SensForm);
|
Application.CreateForm(TSensForm, SensForm);
|
||||||
SensForm.ShowModal;
|
SensForm.Show;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Menu "Analysis" > "Nonparametric" > "Simple Chi Square for Categories"
|
// Menu "Analysis" > "Nonparametric" > "Simple Chi Square for Categories"
|
||||||
|
Reference in New Issue
Block a user