如何在R数据框中查找行的相关矩阵?


要查找R数据框行的相关矩阵,我们可以按照以下步骤操作:

  • 首先,创建一个数据框。
  • 然后,使用cor函数和转置后的数据框来查找行的相关矩阵。

示例1

让我们创建一个如下所示的数据框:

 在线演示

> x1<-rnorm(5)
> x2<-rnorm(5)
> x3<-rnorm(5)
> x4<-rnorm(5)
> x5<-rnorm(5)
> df1<-data.frame(x1,x2,x3,x4,x5)
> df1

执行上述脚本后,将生成以下输出(此输出由于随机化而在您的系统上会有所不同):

      x1          x2       x3          x4       x5
1 0.23392099 -0.0919377 0.4623323 -0.5209734 0.1769501
2 0.66009528 0.8356888 -0.5394541 0.2082769 -0.1801216
3 -0.09660345 0.2935962 2.5287285 1.5602965 1.1191089
4 -0.23380750 0.3456661 0.1458570 -0.7058560 1.9192713
5 0.98615064 0.5303615 0.4312040 -0.5227473 1.8670896

查找行的相关矩阵

使用cor函数在转置数据框后查找数据框中行的相关矩阵:

 在线演示

> x1<-rnorm(5)
> x2<-rnorm(5)
> x3<-rnorm(5)
> x4<-rnorm(5)
> x5<-rnorm(5)
> df1<-data.frame(x1,x2,x3,x4,x5)
> cor(t(df1[]))

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

输出

         [,1]       [,2]       [,3]       [,4]    [,5]
[1,] 1.0000000 -0.4225284 0.14255882 0.40937315 0.6203195
[2,] -0.4225284 1.0000000 -0.89215806 -0.31996808 -0.1164585
[3,] 0.1425588 -0.8921581 1.00000000 -0.01230975 -0.3128922
[4,] 0.4093732 -0.3199681 -0.01230975 1.00000000 0.8674166
[5,] 0.6203195 -0.1164585 -0.31289217 0.86741657 1.0000000

示例2

让我们创建一个如下所示的数据框:

 在线演示

> y1<-rpois(5,1)
> y2<-rpois(5,2)
> y3<-rpois(5,5)
> y4<-rpois(5,2)
> y5<-rpois(5,10)
> df2<-data.frame(y1,y2,y3,y4,y5)
> df2

执行上述脚本后,将生成以下输出(此输出由于随机化而在您的系统上会有所不同):

y1 y2 y3 y4 y5
1 1 2 8 2 16
2 1 4 9 4 15
3 0 2 3 3 15
4 0 2 3 2 8
5 0 2 5 2 9

查找行的相关矩阵

使用cor函数在转置数据框后查找数据框中行的相关矩阵:

 在线演示

> y1<-rpois(5,1)
> y2<-rpois(5,2)
> y3<-rpois(5,5)
> y4<-rpois(5,2)
> y5<-rpois(5,10)
> df2<-data.frame(y1,y2,y3,y4,y5)
> cor(t(df2[]))

输出

[,1] [,2] [,3] [,4] [,5]
[1,] 1.0000000 0.9856531 0.9330930 0.9594638 0.9848691
[2,] 0.9856531 1.0000000 0.9188314 0.9688966 0.9997316
[3,] 0.9330930 0.9188314 1.0000000 0.9818145 0.9262269
[4,] 0.9594638 0.9688966 0.9818145 1.0000000 0.9742043
[5,] 0.9848691 0.9997316 0.9262269 0.9742043 1.0000000

示例3

让我们创建一个如下所示的数据框:

 在线演示

> z1<-runif(5,1,2)
> z2<-runif(5,1,5)
> z3<-runif(5,1,10)
> z4<-runif(5,2,10)
> z5<-runif(5,2,5)
> df3<-data.frame(z1,z2,z3,z4,z5)
> df3

执行上述脚本后,将生成以下输出(此输出由于随机化而在您的系统上会有所不同):

z1 z2 z3 z4 z5
1 1.079122 3.430315 7.953942 6.142318 4.346613
2 1.400345 1.140915 7.714074 9.914491 2.362663
3 1.307579 1.557013 5.698641 6.810150 4.566523
4 1.452093 4.330748 4.710236 2.495453 3.531681
5 1.297150 1.628797 8.802337 5.099750 2.061406

查找行的相关矩阵

使用cor函数在转置数据框后查找数据框中行的相关矩阵:

 在线演示

> z1<-runif(5,1,2)
> z2<-runif(5,1,5)
> z3<-runif(5,1,10)
> z4<-runif(5,2,10)
> z5<-runif(5,2,5)
> df3<-data.frame(z1,z2,z3,z4,z5)
> cor(t(df3[]))

输出

[,1] [,2] [,3] [,4] [,5]
[1,] 1.0000000 0.81635351 0.8600606 0.62241987 0.9144659
[2,] 0.8163535 1.00000000 0.9051244 0.09011508 0.8135256
[3,] 0.8600606 0.90512441 1.0000000 0.20627867 0.7375102
[4,] 0.6224199 0.09011508 0.2062787 1.00000000 0.4679658
[5,] 0.9144659 0.81352558 0.7375102 0.46796577 1.0000000

更新于:2021年8月13日

1K+ 次查看

启动您的职业生涯

完成课程获得认证

开始学习
广告