找到与缺失值的部分相关性

时间:2017-10-08 19:38:47

标签: r

我想找到使用pearson方法保存第三个变量修复的两个变量之间的部分相关性。

这是我的错误:

  

if(det(cvx)< .Machine $ double.eps)出错:缺少需要TRUE / FALSE的值

事实上,我在数据中缺少值,(na.rm=T)与我无关。

1 个答案:

答案 0 :(得分:2)

以下是OP问题的可重现示例:

library("ppcor")

varX <- seq(from=1, to=10, length=10)
varY <- seq(from=20, to=50, length=10)
varZ <- rnorm(10)

varZ[c(1,5,7)] <- NA

pcor.test(x=varX, y=varY, z=varZ)
  

if(det(cvx)&lt; .Machine $ double.eps){:     缺少需要TRUE / FALSE的值

这在Notes部分ppcor包(https://www.rdocumentation.org/packages/ppcor/versions/1.1/topics/pcor.test)的文档中得到了解决:Note: Missing values are not allowed

您可以改为查看partial.r()包的psych功能。

library("psych")
mydata <- cbind(varX, varY, varZ)
partial.r(data=mydata, x=c("varX","varY"), y="varZ")