Partial correlation between two variables given a correlation matrix {corrfuns} | R Documentation |

## Partial correlation between two variables when a correlation matrix is given

### Description

Partial correlation between two variables when a correlation matrix is given.

### Usage

```
partialcor(R, indx, indy, indz, n)
```

### Arguments

`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. |

### Details

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.

### Value

The partial correlation coefficient and the p-value for the test of zero partial correlation.

### Author(s)

Michail Tsagris

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

### See Also

### Examples

```
r <- cor(iris[, 1:4])
partialcor(r, 1, 2, 3:4, 150)
```

*corrfuns*version 1.0 Index]