如何在 R 数据框或矩阵中查找变量之间的相关性序列?
为了在 R 数据框或矩阵中查找变量之间的相关性序列,我们可以使用 corrr 包中的 correlate 和 stretch 函数。
例如,如果我们有一个名为 df 的数据框,那么我们可以使用以下命令查找 df 中变量之间的相关性序列:
df%>% correlate() %>% stretch() %>% arrange(r)
示例 1
以下代码片段创建了一个示例数据框:
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
以下代码片段创建了一个矩阵:
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
广告