我想计算我的因变量y和我所有的x之间的相关性.我使用下面的代码,
cor(loan_data_10v[sapply(loan_data_10v, is.numeric)],use="complete.obs")
Run Code Online (Sandbox Code Playgroud)
结果是相关矩阵.我怎么能用变量y得到一列.
如果我们cor
在'x'和'y'之间寻找,两个参数都可以是a vector
或matrix
.使用一个可重复的例子,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
Run Code Online (Sandbox Code Playgroud)
如果我们有numeric/non-numeric
列,创建列索引numeric
('i1'),names
使用此索引获取'x'和'y'变量并应用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]])
Run Code Online (Sandbox Code Playgroud)