dadrivr wrote:
I'm trying to write code to calculate partial correlations (along with
p-values). I'm new to R, and I don't know how to do this. I have searched
and come across different functions, but I haven't been able to get any of
them to work (for example, pcor and pcor.test from the ggm package).
In the following example, I am trying to compute the correlation between x
and y, while controlling for z (partial correlation):
x <- c(1,20,14,7,9)
y <- c(5,6,7,9,10)
z <- c(13,27,16,5,4)
What function can I append to this to find this partial correlation? Many
thanks!
I'm not sure what you need, but does this give you what
you want:
xres <- residuals(lm(x ~ z))
yres <- residuals(lm(y ~ z))
cor(xres, yres)
# [1] 0.9778857
or
ct <- cor.test(xres, yres)
ct$estimate # 0.9978857
ct$p.value # 0.003934582
-Peter Ehlers
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.