Learn R Programming

pcalg (version 1.0-0)

pcorOrder: 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 variable numbers to compute partial correlations of.
k
conditioning set for partial correlations (vector of integers).
C
correlation matrix (matrix)
cut.at
number slightly smaller than one; if $c$ is cut.at, values outside of $[-c,c]$ are set to $-c$ or $c$ respectively.

Value

  • The partial correlation of i and j given the set k.

Details

The partial correlations are computed using a recusive formula. To avoid numeric problems in recursions, the partial correlation is set to cut.at ($= 0.9999999$ by default; keep this value, unless you know better!), if it is above (e.g., if 1) and to -cut.at if it is below (e.g., if -1).

See Also

condIndFisherZ for testing zero partial correlation.

Examples

Run this code
## 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)

Run the code above in your browser using DataLab