如何在 R 資料框中找到顯著的相關性?
為了在 R 資料框中找到顯著的相關性,我們需要找到相關性檢驗的 p 值矩陣。這可以透過使用 Hmisc 包中的 rcorr 函式並讀取輸出作為矩陣來完成。例如,如果我們有一個名為 df 的資料框,則可以透過使用 rcorr(as.matrix(df)) 來找到具有 p 值的相關性矩陣。
示例 1
考慮以下資料框 -
> x1<-rnorm(20) > x2<-rnorm(20) > x3<-rnorm(20) > df1<-data.frame(x1,x2,x3) > df1
輸出
x1 x2 x3 1 -0.96730523 -1.73067540 -0.01974065 2 0.08564529 -0.05200856 0.76356487 3 -0.33694783 -0.30326744 -0.04760562 4 0.54367676 2.35227967 1.43707451 5 1.12280219 -0.18757952 -1.32278427 6 -0.33947234 0.23128580 -0.05856621 7 0.44756887 -1.38533649 -1.00647630 8 -2.51192456 1.05865975 0.28503664 9 -0.29031722 1.02173256 0.15224756 10 0.36920006 0.17323515 -0.35192833 11 -0.17268384 -1.14498165 0.03180043 12 -0.20811125 -0.49241097 -0.60731423 13 -0.03852074 0.41839372 0.93668284 14 1.98958724 0.85683240 -1.80125628 15 -1.46587108 -0.72375704 0.69243074 16 1.36737574 0.09767378 0.31809893 17 -1.23625739 -1.63587272 0.67043038 18 0.12273089 -0.77565928 -1.48336472 19 0.82783551 0.82508774 0.20627496 20 -0.08917803 0.60930926 -1.92432261
載入 Hmisc 包並找到 df1 中各列的相關性檢驗的 p 值矩陣 -
> library(Hmisc) > rcorr(as.matrix(df1))
輸出
x1 x2 x3 x1 1.00 0.25 -0.38 x2 0.25 1.00 0.16 x3 -0.38 0.16 1.00
示例
n = 20 P
輸出
x1 x2 x3 x1 0.2899 0.1030 x2 0.2899 0.4919 x3 0.1030 0.4919
示例 2
> y1<-rpois(20,2) > y2<-rpois(20,5) > y3<-rpois(20,1) > y4<-rpois(20,1) > y5<-rpois(20,5) > df2<-data.frame(y1,y2,y3,y4,y5) > df2
輸出
y1 y2 y3 y4 y5 1 2 5 1 1 2 2 2 1 1 0 7 3 1 2 1 0 4 4 1 5 1 0 5 5 4 6 0 2 6 6 2 4 2 0 2 7 2 0 1 0 3 8 4 8 1 1 5 9 0 3 1 1 5 10 0 2 0 3 5 11 1 5 2 1 3 12 0 2 1 0 6 13 3 5 3 0 7 14 3 6 0 0 3 15 0 6 0 1 9 16 3 4 2 1 0 17 1 5 0 2 6 18 0 7 2 2 6 19 2 5 0 1 4 20 1 3 3 0 8
找到 df2 中各列的相關性檢驗的 p 值矩陣 -
> rcorr(as.matrix(df2))
輸出
y1 y2 y3 y4 y5 y1 1.00 0.32 0.03 -0.16 -0.32 y2 0.32 1.00 -0.06 0.31 0.07 y3 0.03 -0.06 1.00 -0.40 -0.04 y4 -0.16 0.31 -0.40 1.00 0.06 y5 -0.32 0.07 -0.04 0.06 1.00
示例
n= 20
輸出
y1 y2 y3 y4 y5 y1 0.1667 0.8898 0.4971 0.1714 y2 0.1667 0.7915 0.1873 0.7800 y3 0.8898 0.7915 0.0795 0.8694 y4 0.4971 0.1873 0.0795 0.8066 y5 0.1714 0.7800 0.8694 0.8066
示例 3
> z1<-runif(20,2,5) > z2<-runif(20,2,10) > z3<-runif(20,5,10) > df3<-data.frame(z1,z2,z3) > df3
輸出
z1 z2 z3 1 2.551367 4.399332 7.336909 2 3.513887 4.358521 5.377418 3 3.912958 9.211070 6.693739 4 4.878766 4.827914 9.044594 5 2.290927 5.935495 8.265392 6 3.225698 8.094953 8.095421 7 4.508908 3.864593 8.245445 8 3.418809 9.196999 8.158323 9 3.394496 2.589988 7.007051 10 3.395509 4.175238 5.704264 11 2.730546 6.833714 6.910100 12 4.147959 2.176295 6.996571 13 2.198546 6.049636 7.975485 14 2.275193 4.090590 7.933500 15 3.095163 6.409786 9.948502 16 2.388818 4.006544 9.998355 17 2.138960 5.293971 8.822274 18 2.439146 4.649725 7.313394 19 4.026674 8.068449 8.128699 20 4.436093 2.695067 6.952906
找到 df3 中各列的相關性檢驗的 p 值矩陣 -
> rcorr(as.matrix(df3))
輸出
z1 z2 z3 z1 1.00 -0.08 -0.18 z2 -0.08 1.00 0.17 z3 -0.18 0.17 1.00
示例
n = 20 P
輸出
z1 z2 z3 z1 0.7265 0.4435 z2 0.7265 0.4641 z3 0.4435 0.4641
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP