Previous IDL Reference Guide: Procedures and Functions Next

P_CORRELATE

Syntax | Return Value | Arguments | Keywords | Examples | Version History | See Also

The P_CORRELATE function computes the partial correlation coefficient of a dependent variable and one particular independent variable when the effects of all other variables involved are removed.

To compute the partial correlation, the following method is used:

  1. Let Y and X be the variables of primary interest and let C1...Cp be the variables held fixed.
  2.  

  3. Calculate the residuals after regressing Y on C1...Cp. (These are the parts of Y that cannot be predicted by C1...Cp.)
  4.  

  5. Calculate the residuals after regressing X on C1...Cp. (These are the parts of X that cannot be predicted by C1...Cp.)
  6.  

  7. The partial correlation coefficient between Y and X adjusted for C1...Cp is the correlation between these two sets of residuals.

This routine is written in the IDL language. Its source code can be found in the file p_correlate.pro in the lib subdirectory of the IDL distribution.

Syntax

Result = P_CORRELATE( X, Y, C [, /DOUBLE] )

Return Value

Returns the correlation coefficient.

Arguments

X

An n-element integer, single-, or double-precision floating-point vector that specifies the independent variable data.

Y

An n-element integer, single-, or double-precision floating-point vector that specifies the dependent variable data.

C

An integer, single-, or double-precision floating-point array that specifies the independent variable data whose effects are to be removed. C may either be an n-element vector containing the independent variable, or a p-by-n two-dimensional array in which each column corresponds to a separate independent variable.

Keywords

DOUBLE

Set this keyword to force the computation to be done in double-precision arithmetic.

Examples

; Define three sample populations:  
X0 = [64, 71, 53, 67, 55, 58, 77, 57, 56, 51, 76, 68]  
X1 = [57, 59, 49, 62, 51, 50, 55, 48, 52, 42, 61, 57]  
X2 = [ 8, 10, 6, 11, 8, 7, 10, 9, 10, 6, 12, 9]  
  
; Compute the partial correlation of X0 and X1 with the effects  
; of X2 removed.  
result = P_CORRELATE(X0, X1, X2)  
  
PRINT, result  

IDL prints:

0.533469  

Version History

4.0
Introduced

See Also

A_CORRELATE, C_CORRELATE, CORRELATE, M_CORRELATE, R_CORRELATE, Correlation Analysis

  IDL Online Help (March 06, 2007)