如何找到R中一个变量与所有其他变量的相关性?

为了找到每个变量与剩余变量的相关性,我们可以创建一个相关矩阵,但是对于仅一个变量与所有其他变量的相关性,我们需要在cor函数内定义列。输出将表示在函数内部传递的列和行。

例1

考虑以下数据帧-

x1<−rnorm(20)
x2<−rnorm(20,5)
x3<−rnorm(20,1)
x4<−rnorm(20,1,0.004)
df1<−data.frame(x1,x2,x3,x4)
df1
输出结果
x1 x2 x3 x4
1 0.218668324 5.259419 −0.729656992 0.9970744
2 −0.449469183 3.988644 1.643049356 1.0019346
3 −1.320063760 4.645783 0.945824833 1.0002887
4 0.900912365 4.915662 0.281402826 0.9997605
5 −1.277076293 4.106256 0.209859279 1.0020822
6 0.208085001 6.148850 1.202134387 1.0029056
7 0.168713334 5.065017 −0.747802047 1.0043622
8 −1.520794265 4.296433 0.798054984 1.0059425
9 0.650796875 3.454918 −0.830742647 1.0009890
10 −0.001671951 5.115431 0.898794442 0.9961067
11 −0.453247780 4.329456 1.766517821 0.9925434
12 −1.116829477 4.277810 0.404241362 1.0013094
13 −1.740383204 5.832924 0.502051096 0.9960360
14 2.056005104 4.146595 1.938634058 1.0015199
15 0.180966542 3.897272 1.229711042 1.0004884
16 −0.541882877 5.711087 2.339226199 0.9962318
17 −1.297807469 4.744936 0.006237027 1.0019933
18 −0.597723769 5.621779 1.213939466 1.0029180
19 −1.247040400 5.014155 0.453961227 0.9979829
20 1.114721291 5.809178 −0.161838355 0.9876081

找到x1与x2,x3和x4的相关性-

cor(as.matrix(df1[,1]),as.matrix(df1[,−1]))
输出结果
x2 x3 x4
[1,] −0.03973847 −0.02350932 −0.1992056

例2

y1<−rpois(20,5)
y2<−rpois(20,1)
y3<−rpois(20,2)
y4<−rpois(20,10)
y5<−rpois(20,2)
y6<−rpois(20,4)
df2<−data.frame(y1,y2,y3,y4,y5,y6)
df2
输出结果
y1 y2 y3 y4 y5 y6
1 6 1 3 16 1 3
2 6 1 2 8 3 5
3 6 0 1 9 3 3
4 8 0 3 10 1 3
5 4 2 6 10 3 2
6 4 1 3 9 3 6
7 7 1 3 10 3 4
8 2 2 0 3 4 5
9 1 1 1 11 0 5
10 7 0 5 9 1 4
11 7 0 6 7 0 3
12 4 1 4 11 2 4
13 9 3 2 6 1 3
14 5 0 3 6 1 6
15 6 3 6 11 2 3
16 6 2 4 11 3 5
17 6 1 7 8 1 4
18 3 1 6 14 1 7
19 3 4 2 13 2 5
20 5 0 3 7 2 6

找到y1与df2中剩余变量的相关性-

示例

cor(as.matrix(df2[,1]),as.matrix(df2[,−1]))
输出结果
y2 y3 y4 y5 y6
[1,] −0.1807339 0.2322878 −0.1330579 −0.1659442 −0.5139047