pcorOrder {pcalg} | R Documentation |
Compute Partial Correlations
Description
This function computes partial correlations given a correlation matrix using a recursive algorithm.
Usage
pcorOrder(i,j, k, C, cut.at = 0.9999999)
Arguments
i , j |
(integer) position of variable |
k |
(integer) positions of zero or more conditioning variables in the correlation matrix. |
C |
Correlation matrix (matrix) |
cut.at |
Number slightly smaller than one; if |
Details
The partial correlations are computed using a recusive formula
if the size of the conditioning set is one. For larger conditioning
sets, the pseudoinverse of parts of the correlation matrix is
computed (by pseudoinverse()
from package
corpcor). The pseudoinverse instead of the inverse is used in
order to avoid numerical problems.
Value
The partial correlation of i and j given the set k.
Author(s)
Markus Kalisch kalisch@stat.math.ethz.ch and Martin Maechler
See Also
condIndFisherZ
for testing zero partial correlation.
Examples
## produce uncorrelated normal random variables
mat <- matrix(rnorm(3*20),20,3)
## compute partial correlation of var1 and var2 given var3
pcorOrder(1,2, 3, cor(mat))
## define graphical model, simulate data and compute
## partial correlation with bigger conditional set
genDAG <- randomDAG(20, prob = 0.2)
dat <- rmvDAG(1000, genDAG)
C <- cor(dat)
pcorOrder(2,5, k = c(3,7,8,14,19), C)