2017-08-26 59 views
1

我想計算我的因變量y和我所有的x之間的相關性。我使用下面的代碼,一個變量與R中所有其他變量的相關性

cor(loan_data_10v[sapply(loan_data_10v, is.numeric)],use="complete.obs") 

結果是一個相關矩陣。 我怎樣才能得到一列與我的變量y。

+2

'肺心病(load_data_10v) 'Y' 變量[ ,1]'? – r2evans

+0

它給我一個錯誤「'x'必須是數字」,因爲不是我的數據集中的所有變量都是數字的 –

+0

我的觀點:將'[,1]'添加到您的命令的外部/結尾處,添加'cor (...)[1]'。 – r2evans

回答

5

如果我們正在尋找'x'和'y'之間的cor,那麼這兩個參數可以是vectormatrix。使用可再現的例子,說mtcars和假設的「y」是「MPG」和「X」的其它變量(「MPG」是第一列,所以我們用mtcars[-1]關於「X」)

cor(mtcars[-1], mtcars$mpg) 
#   [,1] 
#cyl -0.8521620 
#disp -0.8475514 
#hp -0.7761684 
#drat 0.6811719 
#wt -0.8676594 
#qsec 0.4186840 
#vs 0.6640389 
#am 0.5998324 
#gear 0.4802848 
#carb -0.5509251 

如果我們有numeric/non-numeric列,創建numeric列( 'I1')的索引,得到的names 'X',並使用該指數,並應用cor

i1 <- sapply(loan_data_10v, is.numeric) 
y1 <- "dep_column" #change it to actual column name 
x1 <- setdiff(names(loan_data_10v)[i1], y1) 
cor(loan_data_10v[x1], loan_data_10v[[y1]]) 
+1

謝謝!這行得通。我在cor中添加use =「complete.obs」,因爲我在每個變量中都有na值 –

相關問題