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