2011-10-05 91 views
3

我想創建一個單獨的列,讓我知道我的因變量與所有我感興趣的解釋變量之間的相關性(所有這些列和更多內容都存儲在data.frame d)。通過做cor(d)我可以得到所有的相關性,通過做cor(d $ Var1,d $ Var2)我可以得到一個單一的數字,但我想知道如何從返回的矩陣中得到Var1列cor(d),我可以選擇我想要的解釋變量。計算響應和某些解釋變量之間的相關

回答

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")] 

其計算完整的相關矩陣,然後抽出你想要的子集。

3

@DavidR是正確的,雖然R還支持爲X的Y的列和列之間的相關性:

cor(X, Y) 

更多信息參見?cor

相關問題