如何在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[]))

輸出

         [,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+ 次檢視

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.