hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_correg_coeffs_pearson (g02ba)

 Contents

    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example

Purpose

nag_correg_coeffs_pearson (g02ba) computes means and standard deviations of variables, sums of squares and cross-products of deviations from means, and Pearson product-moment correlation coefficients for a set of data.

Syntax

[xbar, std, ssp, r, ifail] = g02ba(x, 'n', n, 'm', m)
[xbar, std, ssp, r, ifail] = nag_correg_coeffs_pearson(x, 'n', n, 'm', m)
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 n observations for each of m variables, given as an array
xij,  i=1,2,,nn2,j=1,2,,mm2,  
where xij is the ith observation on the jth variable.
The quantities calculated are:
(a) Means:
x-j=1ni=1nxij,  j=1,2,,m.  
(b) Standard deviations:
sj=1n- 1 i= 1n xij-x-j 2,   j= 1,2,,m.  
(c) Sums of squares and cross-products of deviations from means:
Sjk=i=1n xij-x-j xik-x-k ,  j,k=1,2,,m.  
(d) Pearson product-moment correlation coefficients:
Rjk=SjkSjjSkk ,   j,k= 1,2,,m.  
If Sjj or Skk is zero, Rjk is set to zero.

References

None.

Parameters

Compulsory Input Parameters

1:     xldxm – double array
ldx, the first dimension of the array, must satisfy the constraint ldxn.
xij must be set to xij, the ith observation on the jth variable, for i=1,2,,n and j=1,2,,m.

Optional Input Parameters

1:     n int64int32nag_int scalar
Default: the first dimension of the array x.
n, the number of observations or cases.
Constraint: n2.
2:     m int64int32nag_int scalar
Default: the second dimension of the array x.
m, the number of variables.
Constraint: m2.

Output Parameters

1:     xbarm – double array
The mean value, x-j, of the jth variable, for j=1,2,,m.
2:     stdm – double array
The standard deviation, sj, of the jth variable, for j=1,2,,m.
3:     sspldsspm – double array
sspjk is the cross-product of deviations Sjk, for j=1,2,,m and k=1,2,,m.
4:     rldrm – double array
rjk is the product-moment correlation coefficient Rjk between the jth and kth variables, for j=1,2,,m and k=1,2,,m.
5:     ifail int64int32nag_int scalar
ifail=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

Errors or warnings detected by the function:
   ifail=1
On entry,n<2.
   ifail=2
On entry,m<2.
   ifail=3
On entry,ldx<n,
orldssp<m,
orldr<m.
   ifail=-99
An unexpected error has been triggered by this routine. Please contact NAG.
   ifail=-399
Your licence key may have expired or may not have been installed correctly.
   ifail=-999
Dynamic memory allocation failed.

Accuracy

nag_correg_coeffs_pearson (g02ba) does not use additional precision arithmetic for the accumulation of scalar products, so there may be a loss of significant figures for large n.

Further Comments

The time taken by nag_correg_coeffs_pearson (g02ba) depends on n and m.
The function uses a two-pass algorithm.

Example

This example reads in a set of data consisting of five observations on each of three variables. The means, standard deviations, sums of squares and cross-products of deviations from means, and Pearson product-moment correlation coefficients for all three variables are then calculated and printed.
function g02ba_example


fprintf('g02ba example results\n\n');

x = [ 2,  3, 3;
      4,  6, 4;
      9,  9, 0;
      0, 12, 2;
     12, -1, 5];
[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);

[xbar, std, ssp, r, ifail] = g02ba( ...
                                    x);

fprintf('Variable   Mean     St. dev.\n');
fprintf('%5d%11.4f%11.4f\n',[[1:m]' xbar std]');
fprintf('\nSums of squares and cross-products of deviations\n');
disp(ssp)
fprintf('Correlation coefficients\n');
disp(r);


g02ba example results

Number of variables (columns) = 3
Number of cases     (rows)    = 5

Data matrix is:-
     2     3     3
     4     6     4
     9     9     0
     0    12     2
    12    -1     5

Variable   Mean     St. dev.
    1     5.4000     4.9800
    2     5.8000     5.0695
    3     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)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015