You've already forked lazarus-ccr
LazStats: Less hints and warning.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7814 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -763,7 +763,7 @@ var
|
||||
ColLabels: StrDyneVec = nil;
|
||||
RowLabels: StrDyneVec = nil;
|
||||
AMatrix: DblDyneMat = nil;
|
||||
ColHeader: string;
|
||||
{%H-}ColHeader: string;
|
||||
Title: string;
|
||||
i, j, k, row: integer;
|
||||
begin
|
||||
@ -861,7 +861,7 @@ var
|
||||
AMatrix: DblDyneMat = nil;
|
||||
PooledMat: DblDyneMat = nil;
|
||||
M1, M2, Sum1, C1, C2, f1, f2, chi, ProbChi, X, avgvar, avgcov: double;
|
||||
ColHeader, LabelStr: string;
|
||||
{%H-}ColHeader, LabelStr: string;
|
||||
Title: string;
|
||||
i, j, k, l, row, SubjA, SubjB, N, p, quad : integer;
|
||||
Det: Double = 0.0;
|
||||
|
@ -700,9 +700,9 @@ var
|
||||
SSTotal: double;
|
||||
// SSExplained: double;
|
||||
SSGrpTot: double = 0.0;
|
||||
tProbs: DblDyneVec;
|
||||
BTtests: DblDyneVec;
|
||||
BStdErrs: DblDyneVec; // standard errors of regression weights
|
||||
tProbs: DblDyneVec = nil;
|
||||
BTtests: DblDyneVec = nil;
|
||||
BStdErrs: DblDyneVec = nil; // standard errors of regression weights
|
||||
localReport: TStrings;
|
||||
begin
|
||||
{$IFDEF ANCOVA_DEBUG}
|
||||
@ -1061,14 +1061,14 @@ end;
|
||||
procedure TANCOVAfrm.AdjustMeans(AReport: TStrings);
|
||||
var
|
||||
sum : double;
|
||||
GrpCovMeans : DblDyneMat;
|
||||
AdjMeans : DblDyneVec;
|
||||
Intercepts : DblDyneVec;
|
||||
GrpCovMeans : DblDyneMat = nil;
|
||||
AdjMeans : DblDyneVec = nil;
|
||||
Intercepts : DblDyneVec = nil;
|
||||
i, j, k, col, grp, nogrps : integer;
|
||||
value : double;
|
||||
Labels : StrDyneVec;
|
||||
noingrp : IntDyneVec;
|
||||
XValue : DblDyneVec;
|
||||
Labels : StrDyneVec = nil;
|
||||
noingrp : IntDyneVec = nil;
|
||||
XValue : DblDyneVec = nil;
|
||||
maxmean : double;
|
||||
cell1 : string;
|
||||
begin
|
||||
@ -1221,9 +1221,9 @@ end;
|
||||
procedure TANCOVAfrm.MultCompare(AReport: TStrings);
|
||||
var
|
||||
i, j, size : integer;
|
||||
covmat : DblDyneMat;
|
||||
covmat : DblDyneMat = nil;
|
||||
title : string;
|
||||
Labels : StrDyneVec;
|
||||
Labels : StrDyneVec = nil;
|
||||
sum : double;
|
||||
df1, df2, F, Prob : double;
|
||||
|
||||
|
@ -236,10 +236,14 @@ var
|
||||
group, col: integer;
|
||||
p, X, f1, f2, f3, probf1, probf2, probf3, fd1, fd2, TotMean: double;
|
||||
TotStdDev, den, maxmean: double;
|
||||
C, StdDev: DblDyneMat;
|
||||
squaredsumx, sumxsquared, coltot, sumsum: DblDyneVec;
|
||||
C: DblDyneMat = nil;
|
||||
StdDev: DblDyneMat = nil;
|
||||
squaredsumx: DblDyneVec = nil;
|
||||
sumxsquared: DblDyneVec = nil;
|
||||
coltot: DblDyneVec = nil;
|
||||
sumsum: DblDyneVec = nil;
|
||||
degfree: array[1..8] of integer;
|
||||
ColNoSelected: IntDyneVec;
|
||||
ColNoSelected: IntDyneVec = nil;
|
||||
ss: array[1..8] of double;
|
||||
ms: array[1..8] of double;
|
||||
coeff: array[1..6] of double;
|
||||
@ -259,7 +263,7 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
SetLength(ColNoSelected,NoVariables+1);
|
||||
SetLength(ColNoSelected, NoVariables+1);
|
||||
NoSelected := 1;
|
||||
|
||||
// Get between subjects group variable
|
||||
@ -644,8 +648,8 @@ end;
|
||||
procedure TAxSAnovaFrm.PostHocTests(NoSelected: Integer; MSerr: double;
|
||||
dferr: integer; Count: integer; ColMeans: DblDyneVec; AReport: TStrings);
|
||||
var
|
||||
group_total: DblDyneVec;
|
||||
group_count: DblDyneVec;
|
||||
group_total: DblDyneVec = nil;
|
||||
group_count: DblDyneVec = nil;
|
||||
i, mingrp: integer;
|
||||
begin
|
||||
SetLength(group_total,NoSelected);
|
||||
@ -780,7 +784,7 @@ procedure TAxSAnovaFrm.Newman_Keuls(
|
||||
var
|
||||
i, j: integer;
|
||||
temp1, temp2: double;
|
||||
groupno: IntDyneVec;
|
||||
groupno: IntDyneVec = nil;
|
||||
alpha: double;
|
||||
contrast, mean1, mean2: double;
|
||||
q_stat: double;
|
||||
@ -924,7 +928,7 @@ var
|
||||
df1: double;
|
||||
qstat: double;
|
||||
tstat: double;
|
||||
groupno: IntDyneVec;
|
||||
groupno: IntDyneVec = nil;
|
||||
temp1, temp2: double;
|
||||
tempno: integer;
|
||||
NoGrps: integer;
|
||||
|
@ -2056,14 +2056,14 @@ procedure TBlksAnovaFrm.TwoWayContrasts(AReport: TStrings);
|
||||
var
|
||||
i, j : integer;
|
||||
value : double;
|
||||
variances : DblDyneVec;
|
||||
variances : DblDyneVec = nil;
|
||||
RowSS, ColSS : double;
|
||||
|
||||
begin
|
||||
if CompError then
|
||||
exit;
|
||||
|
||||
SetLength(variances,totcells);
|
||||
SetLength(variances, totcells);
|
||||
|
||||
// Do row comparisons
|
||||
if (NF1cells > 2) then
|
||||
@ -2209,7 +2209,7 @@ procedure TBlksAnovaFrm.ThreeWayContrasts(AReport: TStrings);
|
||||
var
|
||||
i, j, k : integer;
|
||||
value : double;
|
||||
variances : DblDyneVec;
|
||||
variances : DblDyneVec = nil;
|
||||
RowSS, ColSS, SlcSS : double;
|
||||
|
||||
begin
|
||||
|
@ -147,10 +147,10 @@ var
|
||||
DataVar: string;
|
||||
cellstring: string;
|
||||
i, j, rangeA, rangeB, rangeC, mn, mx: integer;
|
||||
cellcnts: IntDyneMat;
|
||||
celltotals: DblDyneMat;
|
||||
Ctotals: DblDyneVec;
|
||||
design: StrDyneMat;
|
||||
cellcnts: IntDyneMat = nil;
|
||||
celltotals: DblDyneMat = nil;
|
||||
Ctotals: DblDyneVec = nil;
|
||||
design: StrDyneMat = nil;
|
||||
G, term1, term2, term3, term4, term5, term6, sumxsqr: double;
|
||||
sumAsqr, sumBsqr, sumCsqr, sumABCsqr, SSA, SSB, SSC: double;
|
||||
SSwithin, SSres, SStotal: double;
|
||||
@ -442,10 +442,10 @@ var
|
||||
i, j, k: integer;
|
||||
rangeA, rangeB, rangeC, rangeD: integer;
|
||||
mn, mx, minD: Integer;
|
||||
cellcnts: IntDyneCube;
|
||||
celltotals: DblDyneCube;
|
||||
Ctotals: DblDyneVec;
|
||||
design: StrDyneMat;
|
||||
cellcnts: IntDyneCube = nil;
|
||||
celltotals: DblDyneCube = nil;
|
||||
Ctotals: DblDyneVec = nil;
|
||||
design: StrDyneMat = nil;
|
||||
G, term1, term2, term3, term4, term5, term6, term7, term8: double;
|
||||
term9, sumxsqr: double;
|
||||
sumAsqr, sumBsqr, sumCsqr, sumDsqr, SSA, SSB, SSC, SSD: double;
|
||||
|
@ -7,7 +7,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
ExtCtrls, StdCtrls,
|
||||
MainUnit, Globals, FunctionsLib, OutputUnit, DataProcs;
|
||||
MainUnit, Globals, OutputUnit, DataProcs;
|
||||
|
||||
type
|
||||
|
||||
@ -166,7 +166,7 @@ var
|
||||
variance1, variance2, pooled, sedif, df, ConfInt, tconfint: double;
|
||||
i, v1, v2, ncases1, ncases2, NoSelected: integer;
|
||||
group, min, max: integer;
|
||||
ColNoSelected: IntDyneVec;
|
||||
ColNoSelected: IntDyneVec = nil;
|
||||
label1Str, label2Str: string;
|
||||
msg: String;
|
||||
C: TWinControl;
|
||||
|
@ -199,7 +199,7 @@ end;
|
||||
procedure TTwoCorrsFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
lReport: TStrings;
|
||||
Corxy, Corxz, Coryz, Cor1, Cor2, alpha, tvalue, df1, df2: double;
|
||||
Corxy, Corxz, Coryz, Cor1, Cor2, alpha, tvalue, df2: double;
|
||||
CorDif, zOne, zTwo, zDif, StdErr, zValue, zprobability: double;
|
||||
UCL, LCL, ztest, ConfLevel, tprobability, ttest: double;
|
||||
mean1, mean2, mean3, variance1, variance2, variance3: double;
|
||||
@ -273,7 +273,6 @@ begin
|
||||
CorDif := Corxy - Corxz;
|
||||
alpha := (1.0 - ConfLevel) / 2.0;
|
||||
tvalue := CorDif * sqrt((SSize - 3.0) * (1.0 + Coryz)) / sqrt(2.0 * (1.0 - Corxy*Corxy - Corxz*Corxz - Coryz*Coryz + 2.0*Corxy*Corxz*Coryz));
|
||||
df1 := 1.0;
|
||||
df2 := SSize - 3.0;
|
||||
tprobability := probt(tvalue,df2);
|
||||
ttest := inverset(1.0 - alpha, df2);
|
||||
@ -454,7 +453,6 @@ begin
|
||||
alpha := (1.0 - ConfLevel) / 2.0;
|
||||
tvalue := CorDif * sqrt((SSize - 3.0) * (1.0 + Coryz)) /
|
||||
sqrt(2.0 * (1.0 - Corxy * Corxy - Corxz * Corxz - Coryz * Coryz + 2.0 * Corxy * Corxz * Coryz));
|
||||
df1 := 1.0;
|
||||
df2 := SSize - 3.0;
|
||||
tprobability := probt(tvalue,df2);
|
||||
ttest := inverset(1.0 - alpha, df2);
|
||||
|
@ -164,7 +164,7 @@ var
|
||||
P, Q: double;
|
||||
i, v1, v2, NoSelected, f1, f2, f3, f4, ncases1, ncases2: integer;
|
||||
min, max, group, AB, AC, CD, BD: integer;
|
||||
ColNoSelected: IntDyneVec;
|
||||
ColNoSelected: IntDyneVec = nil;
|
||||
msg: String;
|
||||
C: TWinControl;
|
||||
lReport: TStrings;
|
||||
|
@ -108,7 +108,7 @@ implementation
|
||||
uses
|
||||
TAChartUtils, TACustomSeries,
|
||||
GridProcs,
|
||||
Utils, MathUnit, MatrixUnit, ChartFrameUnit;
|
||||
Utils, MathUnit, ChartFrameUnit;
|
||||
|
||||
|
||||
{ TWithinANOVAFrm }
|
||||
@ -161,13 +161,17 @@ procedure TWithinANOVAFrm.CalcANOVA(
|
||||
out ARowMeans, ARowVariances, AColMeans,AColVariances: DblDyneVec;
|
||||
out AResults: TWithinANOVAResults);
|
||||
var
|
||||
S: Double = 0;
|
||||
SS: Double = 0;
|
||||
term1, term2, term3, term4: Double;
|
||||
noSelected: Integer;
|
||||
i, count: Integer;
|
||||
|
||||
begin
|
||||
ARowMeans := nil;
|
||||
ARowVariances := nil;
|
||||
AColMeans := nil;
|
||||
AColVariances := nil;
|
||||
|
||||
noSelected := SelList.Items.Count;
|
||||
count := Length(ARowSums);
|
||||
|
||||
@ -297,7 +301,7 @@ end;
|
||||
|
||||
procedure TWithinANOVAFrm.Compute;
|
||||
var
|
||||
j, noSelected, DF: integer;
|
||||
noSelected, DF: integer;
|
||||
r1, r2, r3, r4: double;
|
||||
grandSum, grandSS: Double;
|
||||
determ1, determ2, chi2, prob: Double;
|
||||
@ -532,6 +536,9 @@ var
|
||||
avgVar, avgCov, C2, M2: Double;
|
||||
i, j, noSelected, count: Integer;
|
||||
begin
|
||||
ASampleVarCovarMat := nil;
|
||||
AssumedVarCovarMat := nil;
|
||||
|
||||
ErrorFound := false;
|
||||
noSelected := Length(ASelected);
|
||||
count := NoCases;
|
||||
|
@ -79,6 +79,7 @@ function TMoveAvgFrm.GetRawWeights: DblDyneVec;
|
||||
var
|
||||
r: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
SetLength(Result, WeightGrid.RowCount - 1);
|
||||
for r := 1 to WeightGrid.RowCount - 1 do
|
||||
if WeightGrid.cells[1, r] = '' then
|
||||
|
@ -53,7 +53,7 @@ type
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure SelectListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure SelectListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
function ArrayPosition(NumDims: integer; const Data: DblDyneVec;
|
||||
const Subscripts, DimSize: IntDyneVec): integer;
|
||||
procedure Marginals(NumDims, ArraySize: integer; const Indexes: IntDyneMat;
|
||||
|
@ -51,7 +51,7 @@ implementation
|
||||
|
||||
uses
|
||||
Math, Grids,
|
||||
Utils, DictionaryUnit, GridProcs;
|
||||
Utils, GridProcs;
|
||||
|
||||
|
||||
{ TCrossTabCalculator }
|
||||
|
@ -27,7 +27,6 @@ type
|
||||
FValues: DblDyneVec;
|
||||
FMean, FStdErrorMean: Double;
|
||||
FMin, FMax: Double;
|
||||
FSum: Double;
|
||||
FVariance, FStdDev: Double;
|
||||
FSkew, FStdErrorSkew: Double;
|
||||
FKurtosis, FStdErrorKurtosis: Double;
|
||||
@ -380,7 +379,7 @@ end;
|
||||
|
||||
procedure TDescriptiveFrm.Compute;
|
||||
var
|
||||
i, j: Integer;
|
||||
i: Integer;
|
||||
nSelected: Integer;
|
||||
selected: IntDyneVec = nil;
|
||||
page: TTabSheet;
|
||||
@ -556,7 +555,6 @@ procedure TDescriptiveFrm.UpdateBtnStates;
|
||||
var
|
||||
lSelected: Boolean;
|
||||
i: Integer;
|
||||
F: TReportFrame;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
|
@ -9,7 +9,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, ExtCtrls, Buttons, Clipbrd, ComCtrls,
|
||||
MainUnit, Globals, DataProcs, DictionaryUnit,
|
||||
MainUnit, Globals, DataProcs,
|
||||
BasicStatsReportAndChartFormUnit, ReportFrameUnit, ChartFrameUnit;
|
||||
|
||||
type
|
||||
@ -96,7 +96,6 @@ var
|
||||
//minX, maxX, minY, maxY,
|
||||
X, Y: double;
|
||||
cellstring: string;
|
||||
maxGrpSize: integer = 0;
|
||||
numInGrp: IntDyneVec = nil;
|
||||
xValues: DblDyneMat = nil;
|
||||
yValues: DblDyneMat = nil;
|
||||
|
@ -162,7 +162,6 @@ var
|
||||
tmpY: DblDyneVec = nil;
|
||||
conf: DblDyneVec = nil;
|
||||
ext: TDoubleRect;
|
||||
xmin, xmax, ymin, ymax: Double;
|
||||
rightLabels: TListChartSource;
|
||||
topLabels: TListChartSource;
|
||||
ser: TChartSeries;
|
||||
|
@ -45,7 +45,7 @@ type
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure HelpBtnClick(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure ItemListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure ItemListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure RelListClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
@ -170,10 +170,10 @@ var
|
||||
Rmat, RelMat: DblDyneMat;
|
||||
Weights, Reliabilities, VectProd, means, variances, stddevs: DblDyneVec;
|
||||
CompRel, numerator, denominator, compscore: double;
|
||||
colnoselected: IntDyneVec;
|
||||
colnoselected: IntDyneVec = nil;
|
||||
cellstring: string;
|
||||
title: string;
|
||||
RowLabels: StrDyneVec;
|
||||
RowLabels: StrDyneVec = nil;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
if ItemList.Count = 0 then
|
||||
@ -191,7 +191,7 @@ begin
|
||||
SetLength(means,NoVariables);
|
||||
SetLength(variances,NoVariables);
|
||||
SetLength(stddevs,NoVariables);
|
||||
SetLength(RowLabels,NoVariables);
|
||||
SetLength(RowLabels{%H-},NoVariables);
|
||||
|
||||
// get variable col. no.s selected
|
||||
NoVars := ItemList.Items.Count;
|
||||
|
@ -84,7 +84,7 @@ type
|
||||
procedure ItemInBtnClick(Sender: TObject);
|
||||
procedure ItemOutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
|
||||
private
|
||||
{ private declarations }
|
||||
@ -958,7 +958,7 @@ end;
|
||||
procedure TDIFfrm.ItemTestCorrs(AReport: TStrings);
|
||||
var
|
||||
i, j: integer;
|
||||
Cors: DblDyneVec;
|
||||
Cors: DblDyneVec = nil;
|
||||
title: string;
|
||||
begin
|
||||
SetLength(Cors,NoItems);
|
||||
@ -987,8 +987,8 @@ end;
|
||||
procedure TDIFfrm.ItemCurves;
|
||||
var
|
||||
i, j: integer;
|
||||
XPlotPts: DblDyneMat;
|
||||
YPlotPts: DblDyneMat;
|
||||
XPlotPts: DblDyneMat = nil;
|
||||
YPlotPts: DblDyneMat = nil;
|
||||
max: integer;
|
||||
begin
|
||||
SetLength(XPlotPts, 1, nolevels);
|
||||
|
@ -33,7 +33,7 @@ type
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
private
|
||||
{ private declarations }
|
||||
FAutoSized: Boolean;
|
||||
@ -110,22 +110,22 @@ procedure TGuttmanFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, k, col, X, e0, e1, e2, e3, first, last, errors : integer;
|
||||
totalerrors, rowno : integer;
|
||||
FreqMat0 : IntDyneMat; // Pointer to array of 0 responses for each item by score group
|
||||
FreqMat1 : IntDyneMat; // Pointer to array of 1 responses for each item by score group
|
||||
RowTots : IntDyneVec; // Pointer to vector of total score frequencies for items
|
||||
ColTots : IntDyneMat; // Pointer to array of 0 and 1 column totals
|
||||
ColProps : DblDyneVec; // Pointer to array of proportions correct in columns
|
||||
ColNoSelected : IntDyneVec; // Pointer to vector of item Grid columns
|
||||
CaseVector : IntDyneVec; // Pointer to vector of subject's item responses
|
||||
FreqMat0 : IntDyneMat = nil; // Pointer to array of 0 responses for each item by score group
|
||||
FreqMat1 : IntDyneMat = nil; // Pointer to array of 1 responses for each item by score group
|
||||
RowTots : IntDyneVec= nil; // Pointer to vector of total score frequencies for items
|
||||
ColTots : IntDyneMat = nil; // Pointer to array of 0 and 1 column totals
|
||||
ColProps : DblDyneVec = nil; // Pointer to array of proportions correct in columns
|
||||
ColNoSelected : IntDyneVec = nil; // Pointer to vector of item Grid columns
|
||||
CaseVector : IntDyneVec = nil; // Pointer to vector of subject's item responses
|
||||
TotalScore : integer; // Total score of a subject
|
||||
temp : integer; // temporary variable used in sorting
|
||||
CutScore : IntDyneVec; // Optimal cut scores for each item
|
||||
ErrorMat : IntDyneMat; // matrix of errors above and below cut scores
|
||||
sequence : IntDyneVec; // original and sorted sequence no. of items
|
||||
CaseNo : IntDyneVec; // ID number for each case
|
||||
ModalArray : IntDyneMat; // Array of modal item responses
|
||||
CutScore : IntDyneVec = nil; // Optimal cut scores for each item
|
||||
ErrorMat : IntDyneMat = nil; // matrix of errors above and below cut scores
|
||||
sequence : IntDyneVec = nil; // original and sorted sequence no. of items
|
||||
CaseNo : IntDyneVec = nil; // ID number for each case
|
||||
ModalArray : IntDyneMat = nil; // Array of modal item responses
|
||||
NoSelected : integer;
|
||||
VarLabels : StrDyneVec; // variable labels
|
||||
VarLabels : StrDyneVec = nil; // variable labels
|
||||
outline, astring : string;
|
||||
done : boolean;
|
||||
CoefRepro : double;
|
||||
|
@ -339,9 +339,9 @@ var
|
||||
cellstring: string;
|
||||
title: string;
|
||||
nsize: array [1..2] of integer;
|
||||
FData: IntDyneCube; //no. of category values within item for focal group
|
||||
RData: IntDyneCube; //no. of category values within item for reference group
|
||||
TotData: IntDyneCube; // sum of the above two
|
||||
FData: IntDyneCube = nil; //no. of category values within item for focal group
|
||||
RData: IntDyneCube = nil; //no. of category values within item for reference group
|
||||
TotData: IntDyneCube = nil; // sum of the above two
|
||||
t, Mf, Mb, Sf, Sb, Nb, Nf, df, d, Sd: DblDyneVec;
|
||||
Zc, Vart, BigJ, SumE, SumV, Term1, MY, prob: double;
|
||||
X, BigDnum, BigDden, BigD, BigDS, Zd, M2, E, VarE, Ti, dftot: double;
|
||||
|
@ -45,7 +45,7 @@ type
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure SelListDblClick(Sender: TObject);
|
||||
procedure VarListDblClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
|
||||
private
|
||||
|
||||
@ -109,19 +109,19 @@ var
|
||||
errcode : boolean;
|
||||
filename : string;
|
||||
cellstring: string;
|
||||
Corrs : DblDyneMat;
|
||||
Means : DblDyneVec;
|
||||
Variances : DblDyneVec;
|
||||
StdDevs : DblDyneVec;
|
||||
ColNoSelected : IntDyneVec;
|
||||
Corrs : DblDyneMat = nil;
|
||||
Means : DblDyneVec = nil;
|
||||
Variances : DblDyneVec = nil;
|
||||
StdDevs : DblDyneVec = nil;
|
||||
ColNoSelected : IntDyneVec = nil;
|
||||
title : string;
|
||||
RowLabels : StrDyneVec;
|
||||
ColLabels : StrDyneVec;
|
||||
InverseMat : DblDyneMat;
|
||||
ProdMat : DblDyneMat;
|
||||
CorrMat : DblDyneMat;
|
||||
BetaWeights : DblDyneVec;
|
||||
IndepIndex : IntDyneVec;
|
||||
RowLabels : StrDyneVec = nil;
|
||||
ColLabels : StrDyneVec = nil;
|
||||
InverseMat : DblDyneMat = nil;
|
||||
ProdMat : DblDyneMat = nil;
|
||||
CorrMat : DblDyneMat = nil;
|
||||
BetaWeights : DblDyneVec = nil;
|
||||
IndepIndex : IntDyneVec = nil;
|
||||
constant : double;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
|
@ -49,7 +49,7 @@ type
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure VarListDblClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
|
||||
private
|
||||
{ private declarations }
|
||||
@ -294,7 +294,7 @@ var
|
||||
filename: string;
|
||||
R2: double;
|
||||
StdErrEst: double;
|
||||
IndepIndex: IntDyneVec;
|
||||
IndepIndex: IntDyneVec = nil;
|
||||
constant: double;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
|
@ -10,7 +10,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Buttons, ExtCtrls,
|
||||
Globals, MainUnit, MatrixLib, FunctionsLib, DataProcs, DictionaryUnit, BasicStatsReportFormUnit;
|
||||
Globals, MainUnit, MatrixLib, DataProcs, DictionaryUnit, BasicStatsReportFormUnit;
|
||||
|
||||
|
||||
type
|
||||
@ -53,7 +53,7 @@ type
|
||||
procedure NextBlkBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure VarListDblClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
private
|
||||
BlkVarCols : IntDyneMat;
|
||||
NoBlocks : integer;
|
||||
@ -140,24 +140,22 @@ var
|
||||
R2, df1, df2: double;
|
||||
StdErrEst, F, FProbF, OldR2 : double;
|
||||
pdf1, probin, prout : double;
|
||||
BetaWeights : DblDyneVec;
|
||||
corrs : DblDyneMat;
|
||||
Means : DblDyneVec;
|
||||
Variances : DblDyneVec;
|
||||
StdDevs : DblDyneVec;
|
||||
BetaWeights : DblDyneVec = nil;
|
||||
corrs : DblDyneMat = nil;
|
||||
Means : DblDyneVec = nil;
|
||||
Variances : DblDyneVec = nil;
|
||||
StdDevs : DblDyneVec = nil;
|
||||
title : string;
|
||||
IndRowLabels : StrDyneVec;
|
||||
IndColLabels : StrDyneVec;
|
||||
IndepInverse : DblDyneMat;
|
||||
IndepIndex : IntDyneVec;
|
||||
Candidate : IntDyneVec;
|
||||
IndRowLabels : StrDyneVec = nil;
|
||||
IndColLabels : StrDyneVec = nil;
|
||||
IndepInverse : DblDyneMat = nil;
|
||||
IndepIndex : IntDyneVec = nil;
|
||||
Candidate : IntDyneVec = nil;
|
||||
filename : string;
|
||||
ColEntered : IntDyneVec;
|
||||
ColEntered : IntDyneVec = nil;
|
||||
constant : double;
|
||||
errcode: boolean = false;
|
||||
NCases: Integer = 0;
|
||||
msg: String;
|
||||
C: TWinControl;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
SetLength(corrs,NoVariables+1,NoVariables+1);
|
||||
|
@ -46,7 +46,7 @@ type
|
||||
function Norm(z : double): double;
|
||||
function ix(j, k, nCols : integer): integer;
|
||||
procedure VarListDblClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
|
||||
private
|
||||
{ private declarations }
|
||||
@ -133,7 +133,7 @@ var
|
||||
cellstring : string;
|
||||
outline : string;
|
||||
nR : integer; // no. independent variables
|
||||
ColNoSelected : IntDyneVec;
|
||||
ColNoSelected : IntDyneVec = nil;
|
||||
nC : integer; // no. cases
|
||||
nP : integer; // survival time variable
|
||||
nS : integer; // survival status variable
|
||||
@ -149,18 +149,18 @@ var
|
||||
RowLabels, ColLabels : StrDyneVec;
|
||||
CSq : double; // chi square statistic
|
||||
prob : double; // probability of chi square
|
||||
SurvT : DblDyneVec;
|
||||
Stat : DblDyneVec;
|
||||
Alpha : DblDyneVec;
|
||||
a : DblDyneVec;
|
||||
b : DblDyneVec;
|
||||
s1 : DblDyneVec;
|
||||
s2 : DblDyneVec;
|
||||
s : DblDyneVec;
|
||||
Av : DblDyneVec;
|
||||
SD : DblDyneVec;
|
||||
SE : DblDyneVec;
|
||||
x : DblDyneVec; // data matrix for independent variables
|
||||
SurvT : DblDyneVec = nil;
|
||||
Stat : DblDyneVec = nil;
|
||||
Alpha : DblDyneVec = nil;
|
||||
a : DblDyneVec = nil;
|
||||
b : DblDyneVec = nil;
|
||||
s1 : DblDyneVec = nil;
|
||||
s2 : DblDyneVec = nil;
|
||||
s : DblDyneVec = nil;
|
||||
Av : DblDyneVec = nil;
|
||||
SD : DblDyneVec = nil;
|
||||
SE : DblDyneVec = nil;
|
||||
x : DblDyneVec = nil; // data matrix for independent variables
|
||||
Lo95 : double;
|
||||
Hi95 : double;
|
||||
d : double;
|
||||
|
@ -35,7 +35,7 @@ type
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure VarListDblClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
|
||||
private
|
||||
|
||||
@ -43,7 +43,7 @@ type
|
||||
procedure AdjustConstraints; override;
|
||||
procedure Compute; override;
|
||||
procedure UpdateBtnStates; override;
|
||||
function Validate(out AMsg: String; out AControl: TWinControl): Boolean;
|
||||
function Validate(out AMsg: String; out AControl: TWinControl): Boolean; override;
|
||||
|
||||
public
|
||||
procedure Reset; override;
|
||||
@ -162,7 +162,6 @@ var
|
||||
iters : integer;
|
||||
Table : array[1..3,1..3] of integer;
|
||||
row, col : integer;
|
||||
maxIts: Integer;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
lReport := TStringList.Create;
|
||||
@ -191,9 +190,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
// Max count of iterations
|
||||
maxIts := StrToInt(MaxItsEdit.Text);
|
||||
|
||||
nP := nR + 1;
|
||||
nP1 := nP + 1;
|
||||
for j := 1 to NoVariables do
|
||||
|
@ -7,7 +7,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, ExtCtrls,
|
||||
Globals, MainUnit, MatrixLib, FunctionsLib, DataProcs, BasicStatsReportFormUnit;
|
||||
Globals, MainUnit, MatrixLib, DataProcs, BasicStatsReportFormUnit;
|
||||
|
||||
type
|
||||
|
||||
@ -48,7 +48,7 @@ type
|
||||
procedure DepOutBtnClick(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure SelListDblClick(Sender: TObject);
|
||||
procedure SelListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure SelListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure VarListDblClick(Sender: TObject);
|
||||
|
||||
|
@ -7,7 +7,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, ExtCtrls, ComCtrls,
|
||||
Globals, MainUnit, DictionaryUnit, Matrixlib, DataProcs,
|
||||
Globals, MainUnit, DictionaryUnit,
|
||||
RegressionUnit, ReportFrameUnit, ChartFrameUnit, BasicStatsParamsFormUnit;
|
||||
|
||||
type
|
||||
@ -196,7 +196,7 @@ procedure TWLSForm.AddVariable(AVarName: String; AData: DblDyneVec;
|
||||
end;
|
||||
|
||||
var
|
||||
i, j, colIndex, row: Integer;
|
||||
i, colIndex, row: Integer;
|
||||
begin
|
||||
colIndex := GetVariableIndex(OS3MainFrm.DataGrid, AVarname);
|
||||
if colIndex = -1 then
|
||||
|
@ -169,8 +169,8 @@ var
|
||||
outline, ColHead: string;
|
||||
Title : string;
|
||||
GrpVar, NoGrps, nowithin, TotalCases, value, grpno : integer;
|
||||
ColNoSelected : IntDyneVec;
|
||||
NoInGrp : IntDyneVec;
|
||||
ColNoSelected : IntDyneVec = nil;
|
||||
NoInGrp : IntDyneVec = nil;
|
||||
VarLabels, ColLabels, GrpNos : StrDyneVec;
|
||||
X, Y, GroupSS, ErrorSS, GroupMS, ErrorMS, TotalSS, num, s, v2, den : double;
|
||||
Lambda, ChiSquare, Pillia, TotChi, p, Rc, chi, chiprob, m, L2, F, Fprob : double;
|
||||
|
@ -118,10 +118,10 @@ var
|
||||
i, j, k, k1, k3, L, w3, n3, n4, n5, M, col, count: integer;
|
||||
GrpCnt, Nrows, Ncols, NoSelected: integer;
|
||||
w2, k4, k5, L1 : IntDyneVec;
|
||||
ColSelected : IntDyneVec;
|
||||
ColSelected : IntDyneVec = nil;
|
||||
X, Y, d1, x1, MaxError : double;
|
||||
W, XAxis, YAxis, means, variances, stddevs : DblDyneVec;
|
||||
Distance : DblDyneMat;
|
||||
Distance : DblDyneMat = nil;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
if MaxGrpsChk.Checked then
|
||||
|
@ -59,7 +59,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure ListBox1SelectionChange(Sender: TObject; User: boolean);
|
||||
procedure ListBox1SelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure ResetModelBtnClick(Sender: TObject);
|
||||
|
@ -290,7 +290,7 @@ var
|
||||
yates : boolean;
|
||||
NoSelected, NCases, NRows, NCols: Integer;
|
||||
i, j, rowNo, colNo, depNo: integer;
|
||||
Row, Col, df: integer;
|
||||
df: integer;
|
||||
ChiSquare, probChi, phi: double;
|
||||
AdjChiSqr, AdjProbChi, pearsonr, G, likelihood, MantelHaenszel, prob: double;
|
||||
CoefCont, CramerV: double;
|
||||
|
@ -35,7 +35,7 @@ type
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
private
|
||||
{ private declarations }
|
||||
FAutoSized: Boolean;
|
||||
@ -113,7 +113,7 @@ end;
|
||||
procedure TCochranQFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
i, j, k, col: integer;
|
||||
ColNoSelected: IntDyneVec;
|
||||
ColNoSelected: IntDyneVec = nil;
|
||||
R1, L1, L2, C1, g1, Q, g2, chiprob: double;
|
||||
cellstring: string;
|
||||
lReport: TStrings;
|
||||
|
@ -35,7 +35,7 @@ type
|
||||
procedure InBtnClick(Sender: TObject);
|
||||
procedure OutBtnClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
private
|
||||
{ private declarations }
|
||||
FAutoSized: Boolean;
|
||||
@ -119,13 +119,13 @@ var
|
||||
Temp, TotalCorrect, JudgeCorrect, ChiSquare, Probability : double;
|
||||
TotalRankSums, Concordance, AvgRankCorr, AvgTotalRanks : double;
|
||||
statistic : double;
|
||||
scorearray : DblDyneMat;
|
||||
scorearray : DblDyneMat = nil;
|
||||
temprank, ObjRankSums : DblDyneVec;
|
||||
tempindex : IntDyneVec;
|
||||
tempindex : IntDyneVec = nil;
|
||||
done : boolean;
|
||||
value, cellstring, outline : string;
|
||||
ColNoSelected : IntDyneVec;
|
||||
ColLabels : StrDyneVec;
|
||||
ColNoSelected : IntDyneVec = nil;
|
||||
ColLabels : StrDyneVec = nil;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
if SelList.Items.Count = 0 then
|
||||
|
@ -186,7 +186,7 @@ var
|
||||
N, APlusB, APlusC, BPlusD, CPlusD, NoSelected, dep: integer;
|
||||
FirstP, p, SumProb, Tocher, Alpha, X: double;
|
||||
obs: array[1..2, 1..2] of integer;
|
||||
ColNoSelected: IntDyneVec;
|
||||
ColNoSelected: IntDyneVec = nil;
|
||||
done, ok: boolean;
|
||||
response: string;
|
||||
lReport: TStrings;
|
||||
@ -210,7 +210,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
SetLength(ColNoSelected,3);
|
||||
SetLength(ColNoSelected, 3);
|
||||
ColNoSelected[0] := row;
|
||||
ColNoSelected[1] := col;
|
||||
if InputGrp.ItemIndex = 2 then
|
||||
|
@ -88,7 +88,7 @@ object FriedmanFrm: TFriedmanFrm
|
||||
OnClick = HelpBtnClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object Bevel1: TBevel
|
||||
object ButtonBevel: TBevel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
@ -105,7 +105,7 @@ object FriedmanFrm: TFriedmanFrm
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Bevel1
|
||||
AnchorSideBottom.Control = ButtonBevel
|
||||
Left = 8
|
||||
Height = 273
|
||||
Top = 8
|
||||
|
@ -15,7 +15,7 @@ type
|
||||
{ TFriedmanFrm }
|
||||
|
||||
TFriedmanFrm = class(TForm)
|
||||
Bevel1: TBevel;
|
||||
ButtonBevel: TBevel;
|
||||
HelpBtn: TButton;
|
||||
Panel1: TPanel;
|
||||
ResetBtn: TButton;
|
||||
@ -41,7 +41,7 @@ type
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure TrtInClick(Sender: TObject);
|
||||
procedure TrtOutClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
private
|
||||
{ private declarations }
|
||||
FAutosized: Boolean;
|
||||
@ -150,13 +150,14 @@ Var
|
||||
s, t, TotRanks, chisqr, probchi, score : double;
|
||||
X, ColRanks : DblDyneVec;
|
||||
Ranks, means : DblDyneMat;
|
||||
RowLabels, ColLabels : StrDyneVec;
|
||||
RowLabels: StrDyneVec = nil;
|
||||
ColLabels: StrDyneVec = nil;
|
||||
index : IntDyneVec;
|
||||
GrpNo : IntdyneMat;
|
||||
cellstring: string;
|
||||
title : string;
|
||||
ties : boolean;
|
||||
ColNoSelected : IntDyneVec;
|
||||
ColNoSelected : IntDyneVec = nil;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
if GrpVar.Text = '' then begin
|
||||
@ -173,7 +174,7 @@ begin
|
||||
k := TreatVars.Items.Count;
|
||||
NoSelected := k + 1;
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
SetLength(ColLabels,NoVariables);
|
||||
SetLength(ColLabels, NoVariables);
|
||||
|
||||
// get group variable and treatment variables
|
||||
GrpCol := 0;
|
||||
|
@ -43,7 +43,7 @@ type
|
||||
procedure GrpInClick(Sender: TObject);
|
||||
procedure GrpOutClick(Sender: TObject);
|
||||
procedure ResetBtnClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
private
|
||||
{ private declarations }
|
||||
FAutoSized: Boolean;
|
||||
@ -111,12 +111,12 @@ var
|
||||
i, j, k, m, ind_var, dep_var, min_grp, max_grp, group, total_n : integer;
|
||||
NoTies, NoTieGroups, nogroups, NoSelected, npairs, n1, n2 : integer;
|
||||
largestn : integer;
|
||||
ColNoSelected : IntdyneVec;
|
||||
group_count : IntDyneVec;
|
||||
ColNoSelected : IntdyneVec = nil;
|
||||
group_count : IntDyneVec = nil;
|
||||
score, t, SumT, Avg, Probchi, H, CorrectedH, value : double;
|
||||
Correction, Temp, TieSum, alpha, U, U2, SD, z, prob : double;
|
||||
Ranks, X : DblDyneMat;
|
||||
RankSums : DblDyneVec;
|
||||
RankSums : DblDyneVec = nil;
|
||||
cellstring, outline: string;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
@ -151,7 +151,6 @@ begin
|
||||
MessageDlg('Alpha level must be a valid number between 0 and 1.', mtError, [mbOK], 0);
|
||||
end;
|
||||
|
||||
|
||||
// allocate space
|
||||
SetLength(ColNoSelected,NoVariables);
|
||||
SetLength(Ranks,NoCases,2);
|
||||
|
@ -9,7 +9,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, ExtCtrls,
|
||||
MainUnit, FunctionslIB, Globals, DataProcs, BasicStatsReportFormUnit;
|
||||
MainUnit, FunctionslIB, Globals, BasicStatsReportFormUnit;
|
||||
|
||||
type
|
||||
|
||||
@ -32,7 +32,7 @@ type
|
||||
procedure GrpInClick(Sender: TObject);
|
||||
procedure GrpOutClick(Sender: TObject);
|
||||
procedure VarListDblClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
private
|
||||
|
||||
protected
|
||||
|
@ -209,10 +209,10 @@ var
|
||||
i, j, RowNo, RefColNo, NoToAnalyze : integer;
|
||||
Row, Col, Ncases, Nrows, Ncols, df : integer;
|
||||
RowLabels, ColLabels : StrDyneVec;
|
||||
ColNoSelected : IntDyneVec;
|
||||
ColNoSelected : IntDyneVec = nil;
|
||||
cellstring : string;
|
||||
outline : string;
|
||||
Freq : IntDyneMat;
|
||||
Freq : IntDyneMat = nil;
|
||||
Prop, Expected, CellChi : DblDyneMat;
|
||||
ChiSquare, ProbChi : double;
|
||||
yates : boolean;
|
||||
|
@ -28,7 +28,7 @@ type
|
||||
procedure Var2InClick(Sender: TObject);
|
||||
procedure Var2OutClick(Sender: TObject);
|
||||
procedure VarListDblClick(Sender: TObject);
|
||||
procedure VarListSelectionChange(Sender: TObject; User: boolean);
|
||||
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
private
|
||||
|
||||
protected
|
||||
|
@ -7,7 +7,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, ExtCtrls,
|
||||
MainUnit, FunctionsLib, Globals, DataProcs, BasicStatsReportFormUnit;
|
||||
MainUnit, Globals, DataProcs, BasicStatsReportFormUnit;
|
||||
|
||||
type
|
||||
|
||||
@ -71,7 +71,7 @@ procedure TSpearmanForm.Compute;
|
||||
var
|
||||
index: IntDyneMat = nil;
|
||||
Ranks: DblDyneMat = nil;
|
||||
X: DblDyneMat;
|
||||
X: DblDyneMat = nil;
|
||||
d: DblDyneVec = nil;
|
||||
ColNoSelected: IntDyneVec = nil;
|
||||
ColLabels: StrDyneVec = nil;
|
||||
|
@ -49,8 +49,6 @@ implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
Math;
|
||||
|
||||
{ TWilcoxonForm }
|
||||
|
||||
|
@ -7,8 +7,8 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||
StdCtrls, ComCtrls, Buttons,
|
||||
Globals, MainUnit, ContextHelpUnit,
|
||||
BasicStatsReportAndChartFormUnit, ReportFrameUnit, ChartFrameUnit;
|
||||
Globals, MainUnit,
|
||||
BasicStatsReportAndChartFormUnit, ChartFrameUnit;
|
||||
|
||||
type
|
||||
|
||||
|
@ -6,7 +6,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls, ExtCtrls,
|
||||
StdCtrls, ReportFrameUnit, ChartFrameUnit, BasicStatsParamsFormUnit;
|
||||
ReportFrameUnit, ChartFrameUnit, BasicStatsParamsFormUnit;
|
||||
|
||||
type
|
||||
|
||||
|
@ -94,18 +94,18 @@ end;
|
||||
|
||||
procedure TMultGenFrm.ComputeBtnClick(Sender: TObject);
|
||||
var
|
||||
RhoMat: DblDyneMat;
|
||||
SampMat: DblDyneMat;
|
||||
Mus: DblDyneVec;
|
||||
means: DblDyneVec;
|
||||
Sigmas: DblDyneVec;
|
||||
stddevs: DblDyneVec;
|
||||
RhoMat: DblDyneMat = nil;
|
||||
SampMat: DblDyneMat = nil;
|
||||
Mus: DblDyneVec = nil;
|
||||
means: DblDyneVec = nil;
|
||||
Sigmas: DblDyneVec = nil;
|
||||
stddevs: DblDyneVec = nil;
|
||||
i, j, k, i1, i2, n2, k1: integer;
|
||||
determ, n3, r1, s8, s9, d2, x, y, mean: double;
|
||||
cellstring: string;
|
||||
title: string;
|
||||
RowLabels: StrDyneVec;
|
||||
ColLabels: StrDyneVec;
|
||||
RowLabels: StrDyneVec = nil;
|
||||
ColLabels: StrDyneVec = nil;
|
||||
lReport: TStrings;
|
||||
begin
|
||||
if (NoVarsEdit.Text = '') then begin
|
||||
|
@ -82,8 +82,8 @@ var
|
||||
alphas: array[1..6] of double;
|
||||
zalphas: array[1..6] of double;
|
||||
xalphas: array[1..6] of double;
|
||||
XPlotPts: DblDyneMat;
|
||||
YPlotPts: DblDyneMat;
|
||||
XPlotPts: DblDyneMat = nil;
|
||||
YPlotPts: DblDyneMat = nil;
|
||||
LabelStr, outline: string;
|
||||
oldCursor: TCursor;
|
||||
lReport: TStrings;
|
||||
|
@ -223,7 +223,7 @@ var
|
||||
i, j: integer;
|
||||
temp1: double;
|
||||
temp2: Integer;
|
||||
groupno : IntDyneVec;
|
||||
groupno : IntDyneVec = nil;
|
||||
contrast, mean1, mean2 : double;
|
||||
q_stat : double;
|
||||
divisor : double;
|
||||
@ -524,7 +524,7 @@ var
|
||||
df1: double;
|
||||
qstat: double;
|
||||
tstat: double;
|
||||
groupno: IntDyneVec;
|
||||
groupno: IntDyneVec = nil;
|
||||
temp1: Double;
|
||||
temp2: Integer;
|
||||
tempno: integer;
|
||||
|
@ -50,6 +50,7 @@ var
|
||||
row, n: Integer;
|
||||
val: Double;
|
||||
begin
|
||||
Result := nil;
|
||||
SetLength(Result, AGrid.RowCount);
|
||||
n := 0;
|
||||
for row := 1 to AGrid.RowCount-1 do
|
||||
@ -82,6 +83,7 @@ var
|
||||
r, c, i, j: Integer;
|
||||
val: Double;
|
||||
begin
|
||||
Result := nil;
|
||||
SetLength(Result, AGrid.RowCount, Length(AColIndices));
|
||||
i := 0;
|
||||
for r:= 1 to AGrid.RowCount-1 do
|
||||
|
@ -121,6 +121,7 @@ operator + (A, B: TDblVector): TDblVector;
|
||||
var
|
||||
i, n: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
VecCheck(A, B, n);
|
||||
SetLength(Result, n);
|
||||
for i := 0 to n-1 do
|
||||
@ -132,6 +133,7 @@ operator - (A, B: TDblVector): TDblVector;
|
||||
var
|
||||
i, n: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
VecCheck(A, B, n);
|
||||
SetLength(Result, n);
|
||||
for i := 0 to n-1 do
|
||||
@ -156,6 +158,7 @@ operator * (A: TDblVector; b: Double): TDblVector;
|
||||
var
|
||||
i, n: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
n := Length(A);
|
||||
SetLength(Result, n);
|
||||
for i := 0 to n-1 do
|
||||
@ -166,6 +169,7 @@ operator * (a: Double; B: TDblVector): TDblVector;
|
||||
var
|
||||
i, n: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
n := Length(B);
|
||||
SetLength(Result, n);
|
||||
for i := 0 to n-1 do
|
||||
@ -190,6 +194,7 @@ function VecCopy(A: TDblVector): TDblVector;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
SetLength(Result, Length(A));
|
||||
for i := 0 to High(A) do Result[i] := A[i];
|
||||
end;
|
||||
@ -199,6 +204,7 @@ function VecMultiply(A, B: TDblVector): TDblVector;
|
||||
var
|
||||
i, n: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
VecCheck(A, B, n);
|
||||
SetLength(Result, n);
|
||||
for i := 0 to n-1 do
|
||||
@ -210,6 +216,7 @@ function VecOnes(n: Integer): TDblVector;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
SetLength(Result, n);
|
||||
for i := 0 to n-1 do Result[i] := 1;
|
||||
end;
|
||||
@ -333,6 +340,7 @@ var
|
||||
i, j: Integer;
|
||||
factor: Double;
|
||||
begin
|
||||
Result := nil;
|
||||
SetLength(Result, N);
|
||||
for j := 0 to N-1 do Result[j] := 0;
|
||||
|
||||
@ -375,6 +383,7 @@ begin
|
||||
if (n <> Length(B)) or (m <> Length(B[0])) then
|
||||
raise EMatrix.Create('Matrix subtraction: dimension error');
|
||||
|
||||
Result := nil;
|
||||
SetLength(Result, n,m);
|
||||
for i := 0 to n-1 do
|
||||
for j := 0 to m-1 do
|
||||
@ -391,6 +400,7 @@ begin
|
||||
if (n <> Length(B)) or (m <> Length(B[0])) then
|
||||
raise EMatrix.Create('Matrix subtraction: dimension error');
|
||||
|
||||
Result := nil;
|
||||
SetLength(Result, n,m);
|
||||
for i := 0 to n-1 do
|
||||
for j := 0 to m-1 do
|
||||
@ -409,6 +419,7 @@ begin
|
||||
if ma <> nb then
|
||||
raise EMatrix.Create('Matrix product: dimension error');
|
||||
|
||||
Result := nil;
|
||||
SetLength(Result, na,mb);
|
||||
|
||||
for i := 0 to na-1 do
|
||||
@ -432,6 +443,7 @@ begin
|
||||
if ma <> nv then
|
||||
raise EMatrix.Create('Dimension error.');
|
||||
|
||||
Result := nil;
|
||||
SetLength(Result, na);
|
||||
for i := 0 to na-1 do
|
||||
begin
|
||||
@ -454,6 +466,7 @@ begin
|
||||
if n <> nv then
|
||||
raise EMatrix.Create('Dimension error.');
|
||||
|
||||
Result := nil;
|
||||
SetLength(Result, n, m+1);
|
||||
for i := 0 to n-1 do
|
||||
begin
|
||||
@ -502,6 +515,10 @@ var
|
||||
n, m, i, j: Integer;
|
||||
s, ss: Double;
|
||||
begin
|
||||
AMeans := nil;
|
||||
AVariances := nil;
|
||||
AStdDevs := nil;
|
||||
|
||||
MatSize(A, n, m);
|
||||
SetLength(AMeans, m);
|
||||
SetLength(AVariances, m);
|
||||
@ -527,6 +544,7 @@ var
|
||||
i, j, n, m: Integer;
|
||||
sum: Double;
|
||||
begin
|
||||
Result := nil;
|
||||
MatSize(A, n, m);
|
||||
SetLength(Result, m);
|
||||
for j := 0 to m-1 do
|
||||
@ -543,6 +561,7 @@ function MatColVector(A: TDblMatrix; AColIndex: Integer): TDblVector;
|
||||
var
|
||||
i, n, m: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
MatSize(A, n,m);
|
||||
SetLength(Result, n);
|
||||
for i := 0 to n-1 do
|
||||
@ -554,6 +573,7 @@ function MatCopy(A: TDblMatrix): TDblMatrix;
|
||||
var
|
||||
n, m, i, j: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
MatSize(A, n,m);
|
||||
SetLength(Result, n, m);
|
||||
for i := 0 to n-1 do
|
||||
@ -619,8 +639,10 @@ function MatInverse(A: TDblMatrix): TDblMatrix;
|
||||
var
|
||||
i, j, n: integer;
|
||||
S: TLUSolver;
|
||||
v: TDblVector;
|
||||
v: TDblVector = nil;
|
||||
begin
|
||||
Result := nil;
|
||||
|
||||
MatCheck(A);
|
||||
MatCheckSquare(A, n);
|
||||
SetLength(Result, n,n);
|
||||
@ -672,6 +694,8 @@ var
|
||||
i, j, n, m: Integer;
|
||||
sum: Double;
|
||||
begin
|
||||
Result := nil;
|
||||
|
||||
MatSize(A, n,m);
|
||||
SetLength(Result, n);
|
||||
for i := 0 to n-1 do
|
||||
@ -688,6 +712,8 @@ function MatRowVector(A: TDblMatrix; ARowIndex: Integer): TDblVector;
|
||||
var
|
||||
j, n, m: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
|
||||
MatSize(A, n,m);
|
||||
SetLength(Result, m);
|
||||
for j := 0 to m-1 do
|
||||
@ -713,6 +739,8 @@ function MatTransposed(A: TDblMatrix): TDblMatrix;
|
||||
var
|
||||
n, m, i, j: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
|
||||
MatCheck(A);
|
||||
MatSize(A, n, m);
|
||||
SetLength(Result, m, n);
|
||||
@ -726,6 +754,8 @@ function SubMatrix(A: TDblMatrix; i1,j1, i2,j2: Integer): TDblMatrix;
|
||||
var
|
||||
i, j, n, m: Integer;
|
||||
begin
|
||||
Result := nil;
|
||||
|
||||
MatSize(A, n,m);
|
||||
i1 := EnsureRange(i1, 0, n);
|
||||
i2 := EnsureRange(i2, 0, n);
|
||||
@ -811,7 +841,7 @@ const
|
||||
var
|
||||
k, j, imax, i: integer;
|
||||
sum, dum, big: float;
|
||||
vv: TDblVector;
|
||||
vv: TDblVector = nil;
|
||||
n : integer;
|
||||
begin
|
||||
n := MatNumRows(FLU);
|
||||
|
@ -28,7 +28,7 @@ function IndexOfString(L: StrDyneVec; s: String): Integer;
|
||||
implementation
|
||||
|
||||
uses
|
||||
StrUtils, Math, ToolWin;
|
||||
StrUtils, ToolWin;
|
||||
|
||||
// https://stackoverflow.com/questions/4093595/create-ttoolbutton-runtime
|
||||
procedure AddButtonToToolbar(AToolButton: TToolButton; AToolBar: TToolBar);
|
||||
|
Reference in New Issue
Block a user