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