二変数以外の全てをコントロールした偏相関係数行列
partial.cor <- function(x)
{
r <- cor(x)
i <- solve(r)
d <- diag(i)
-i/sqrt(outer(d,d))
}
# example
x <- matrix(c(1,2,3,4,3, 5,14,3,2,4, 6,5,4,6,3, 4,3,2,6,5), 5)
partial.cor(x)
# returned value
[,1] [,2] [,3] [,4]
[1,] -1.0000000 -0.35532521 -0.34405087 0.3732220
[2,] -0.3553252 -1.00000000 0.03407991 -0.2332674
[3,] -0.3440509 0.03407991 -1.00000000 0.3823565
[4,] 0.3732220 -0.23326740 0.38235645 -1.0000000