如何在 R 数据框或矩阵中查找变量之间的相关性序列?


为了在 R 数据框或矩阵中查找变量之间的相关性序列,我们可以使用 corrr 包中的 correlate 和 stretch 函数。

例如,如果我们有一个名为 df 的数据框,那么我们可以使用以下命令查找 df 中变量之间的相关性序列:

df%>%
correlate() %>%
stretch() %>%
arrange(r)

示例 1

以下代码片段创建了一个示例数据框:

Open Compiler
x1<-rnorm(20) x2<-rnorm(20,5,0.2) x3<-rnorm(20,5,0.005) x4<-rnorm(20,2,0.14) df1<-data.frame(x1,x2,x3,x4) df1

创建了以下数据框:

       x1         x2       x3      x4
1   0.6808273  5.100547 5.008409 1.903267
2  -0.8982181  5.236966 5.003451 1.885443
3   1.7004141  4.938643 4.998515 2.078969
4  -0.5556164  5.086777 5.000830 1.836611
5  -0.3700080  5.180180 4.999621 2.066981
6  -0.6171065  5.218265 5.006482 2.012696
7   1.3167304  4.886068 5.005309 1.697461
8  -1.0291898  5.082370 4.996527 1.876241
9   0.3552824  5.354599 5.004550 2.010306
10 -0.8318924  4.943031 4.999007 2.097666
11 -0.3643198  5.287603 4.996394 2.119303
12 -0.6422962  4.864442 4.998594 2.105324
13  3.3631619  4.675183 4.999328 1.878981
14  1.7794186  4.769273 4.997484 2.027005
15 -0.5102582  5.140516 5.001077 1.830695
16  1.1652416  4.586822 4.996408 2.101790
17 -0.4535449  5.046426 5.004014 1.906526
18 -2.0166857  4.666686 4.996425 2.011478
19 -0.9543124  4.956333 5.002519 1.984997
20  1.5101443  5.273918 4.988374 1.876615

要加载 corrr 包并查找 df1 中变量之间的相关性序列,请将以下代码添加到上面的代码片段中:

library(corrr) df1%>% + correlate() %>% + stretch() %>% + arrange(r) Correlation method: 'pearson' Missing treated using: 'pairwise.complete.obs' # A tibble: 16 x 3

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:

    x     y    r
 <chr> <chr> <dbl>
1  x1   x2  -0.284
2  x2   x1  -0.284
3  x3   x4  -0.263
4  x4   x3  -0.263
5  x1   x4  -0.155
6  x4   x1  -0.155
7  x1   x3  -0.137
8  x3   x1  -0.137
9  x2   x4  -0.127
10 x4   x2  -0.127
11 x2   x3   0.185
12 x3   x2   0.185
13 x1   x1   NA
14 x2   x2   NA
15 x3   x3   NA
16 x4   x4   NA

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

示例 2

以下代码片段创建了一个矩阵:

Open Compiler
M1<-matrix(rpois(100,10),ncol=5) M1

创建了以下矩阵:

      [,1][,2][,3][,4][,5]
[1,]  10   4   13   4   9
[2,]  14  12   13  15  11
[3,]  11   6   15  10  16
[4,]   6  10    5   9   9
[5,]   9   6   20  10  10
[6,]   7  10    6  10  12
[7,]  13  15    6  13   8
[8,]   3  14   11   9   8
[9,]  13  10    7   9  11
[10,] 10   7   16  13  12
[11,]  8   7    9   7  14
[12,]  7   6    9  16   6
[13,]  7  14    7   7  12
[14,]  8   7    7   5  10
[15,]  4   9   13  11   7
[16,] 15   9   14  11   8
[17,]  9  12    7   9  15
[18,] 11  10    3  14  10
[19,]  8   5   13  17  11
[20,]  7  13   10  12   7

要查找 M1 中变量之间的相关性序列,请将以下代码添加到上面的代码片段中:

M1%>% + correlate()%>% + stretch() %>% + arrange(r) Correlation method: 'pearson' Missing treated using: 'pairwise.complete.obs' # A tibble: 25 x 3

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:

    x    y     r
 <chr> <chr> <dbl>
1  V2  V3  -0.473
2  V3  V2  -0.473
3  V4  V5  -0.233
4  V5  V4  -0.233
5  V2  V5  -0.136
6  V5  V2  -0.136
7  V1  V2  -0.0355
8  V2  V1  -0.0355
9  V3  V5   0.0261
10 V5  V3   0.0261

更新于:2021年11月23日

237 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告