PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_correg_coeffs_pearson_subset (g02bg)
Purpose
nag_correg_coeffs_pearson_subset (g02bg) computes means and standard deviations, sums of squares and cross-products of deviations from means, and Pearson product-moment correlation coefficients for selected variables.
Syntax
[
xbar,
std,
ssp,
r,
ifail] = g02bg(
x,
kvar, 'n',
n, 'm',
m, 'nvars',
nvars)
[
xbar,
std,
ssp,
r,
ifail] = nag_correg_coeffs_pearson_subset(
x,
kvar, 'n',
n, 'm',
m, 'nvars',
nvars)
Note: the interface to this routine has changed since earlier releases of the toolbox:
At Mark 22: |
n was made optional |
Description
The input data consist of
observations for each of
variables, given as an array
where
is the
th observation on the
th variable, together with the subset of these variables,
, for which information is required.
The quantities calculated are:
(a) |
Means:
|
(b) |
Standard deviations:
|
(c) |
Sums of squares and cross-products of deviations from zero:
|
(d) |
Pearson product-moment correlation coefficients:
If or is zero, is set to zero. |
References
None.
Parameters
Compulsory Input Parameters
- 1:
– double array
-
ldx, the first dimension of the array, must satisfy the constraint
.
must be set to , the value of the th observation on the th variable, for and .
- 2:
– int64int32nag_int array
-
must be set to the column number in
x of the
th variable for which information is required, for
.
Constraint:
, for .
Optional Input Parameters
- 1:
– int64int32nag_int scalar
-
Default:
the first dimension of the array
x.
, the number of observations or cases.
Constraint:
.
- 2:
– int64int32nag_int scalar
-
Default:
the second dimension of the array
x.
, the number of variables.
Constraint:
.
- 3:
– int64int32nag_int scalar
-
Default:
the dimension of the array
kvar.
, the number of variables for which information is required.
Constraint:
.
Output Parameters
- 1:
– double array
-
The mean value,
, of the variable specified in , for .
- 2:
– double array
-
The standard deviation,
, of the variable specified in , for .
- 3:
– double array
-
is the cross-product of deviations, , for the variables specified in and , for and .
- 4:
– double array
-
is the product-moment correlation coefficient, , between the variables specified in and , for and .
- 5:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and Warnings
Errors or warnings detected by the function:
-
-
-
-
On entry, | , |
or | . |
-
-
On entry, | , |
or | , |
or | . |
-
-
On entry, | , |
or | for some . |
-
An unexpected error has been triggered by this routine. Please
contact
NAG.
-
Your licence key may have expired or may not have been installed correctly.
-
Dynamic memory allocation failed.
Accuracy
nag_correg_coeffs_pearson_subset (g02bg) does not use additional precision arithmetic for the accumulation of scalar products, so there may be a loss of significant figures for large .
Further Comments
The time taken by nag_correg_coeffs_pearson_subset (g02bg) depends on and .
The function uses a two pass algorithm.
Example
This example reads in a set of data consisting of five observations on each of four variables. The means, standard deviations, sums of squares and cross-products of deviations from means, and Pearson product-moment correlation coefficients for the fourth, first and second variables are then calculated and printed.
Open in the MATLAB editor:
g02bg_example
function g02bg_example
fprintf('g02bg example results\n\n');
x = [ 3, 3, 1, 2;
6, 4, -1, 4;
9, 0, 5, 9;
12, 2, 0, 0;
-1, 5, 4, 12];
[n,m] = size(x);
fprintf('Number of variables (columns) = %d\n', m);
fprintf('Number of cases (rows) = %d\n\n', n);
disp('Data matrix is:-');
disp(x);
kvar = [int64(4); 1; 2];
nvar = size(kvar,1);
[xbar, std, ssp, r, ifail] = g02bg( ...
x, kvar);
fprintf('Variable Mean St. dev.\n');
fprintf('%5d%11.4f%11.4f\n',[double(kvar) xbar(1:nvar) std(1:nvar)]');
fprintf('\nSums of squares and cross-products of deviations\n');
disp(ssp(1:nvar,1:nvar))
fprintf('Correlation coefficients\n');
disp(r(1:nvar,1:nvar));
g02bg example results
Number of variables (columns) = 4
Number of cases (rows) = 5
Data matrix is:-
3 3 1 2
6 4 -1 4
9 0 5 9
12 2 0 0
-1 5 4 12
Variable Mean St. dev.
4 5.4000 4.9800
1 5.8000 5.0695
2 2.8000 1.9235
Sums of squares and cross-products of deviations
99.2000 -57.6000 6.4000
-57.6000 102.8000 -29.2000
6.4000 -29.2000 14.8000
Correlation coefficients
1.0000 -0.5704 0.1670
-0.5704 1.0000 -0.7486
0.1670 -0.7486 1.0000
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015