计算响应与某些解释变量之间的相关性

时间:2011-10-05 16:08:19

标签: r

我想创建一个单独的列,让我知道我的因变量与我感兴趣的所有解释变量的相关性(所有这些列以及更多列都存储在data.frame d中)。通过做cor(d)我可以得到所有的相关性并通过做cor(d $ Var1,d $ Var2)我可以得到一个数字,但我想弄清楚如何从返回的矩阵中只得到Var1列cor(d),我可以选择我想要的解释变量。

3 个答案:

答案 0 :(得分:4)

cor函数实际上也可以这样做。 假设我们有:

d=data.frame(dependentVar = c(1,2,3),var1=c(-1,-2,-3),var2=c(9,0,5),junk=c(-2,-3,5))

然后这将解决问题:

cor(d[,"dependentVar"], d[,c("var1","var2")])
     var1       var2
[1,]   -1 -0.4435328

效率较低(我猜),但你也可以这样做:

cor(d)["dependentVar", c("var1","var2")]

计算完整的相关矩阵,然后拉出你想要的子集。

答案 1 :(得分:3)

@DavidR是正确的,尽管R还支持X列和Y列之间的相关性:

cor(X, Y)

有关详细信息,请参阅?cor

答案 2 :(得分:0)

M <- round(cor(College[,-1]),2)

library('corrplot') #package corrplot

如果我们想要图像而不是直接数字,我们也可以使用圆形,正方形,日食而不是数字

corrplot(M, method = "number") #plot matrix

Corelation matrix