Partial correlation between two variables given a correlation matrix | R Documentation |
Partial correlation between two variables when a correlation matrix is given.
partialcor(R, indx, indy, indz, n)
R |
A correlation matrix. |
indx |
The index of the first variable whose conditional correlation is to estimated. |
indy |
The index of the second variable whose conditional correlation is to estimated. |
indz |
The index of the conditioning variables. |
n |
The sample size of the data from which the correlation matrix was computed. |
Suppose you want to calculate the correlation coefficient between two variables controlling for the effect of (or conditioning on) one or more other variables. So you cant to calculate \hat{\rho}\left(X,Y|{\bf Z}\right)
, where \bf Z
is a matrix, since it does not have to be just one variable. Using the correlation matrix R
we can do the following:
r_{X,Y|{\bf Z}}=
{
\begin{array}{cc}
\frac{R_{X,Y} - R_{X, {\bf Z}} R_{Y,{\bf Z}}}{
\sqrt{ \left(1 - R_{X,{\bf Z}}^2\right)^T \left(1 - R_{Y,{\bf Z}}^2\right) }} & \text{if} \ \ |{\bf Z}|=1 \\
-\frac{ {\bf A}_{1,2} }{ \sqrt{{\bf A}_{1,1}{\bf A}_{2,2}} } & \text{if} \ \ |{\bf Z}| > 1
\end{array}
}
The R_{X,Y}
is the correlation between variables X
and Y
, R_{X,{\bf Z}}
and R_{Y,{\bf Z}}
denote the correlations between X
& \bf Z
and Y
& \bf Z
, {\bf A}={\bf R}_{X,Y,{\bf Z}}^{-1}
, with \bf A
denoting the correlation sub-matrix of variables X, Y, {\bf Z}
and A_{i,j}
denotes the element in the i
-th row and j
-th column of matrix A
. The |{\bf Z}|
denotes the cardinality of \bf Z
, i.e. the number of variables.
The partial correlation coefficient and the p-value for the test of zero partial correlation.
Michail Tsagris
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.
partialcor2, pcormat
r <- cor(iris[, 1:4])
partialcor(r, 1, 2, 3:4, 150)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.