相關(guān)系數(shù)r的計算公式(R數(shù)據(jù)相關(guān)性分析)

博主:yunbaotangyunbaotang 2024-01-18 472 0條評論
摘要: 本期內(nèi)容速覽: 相關(guān)性分析方法選擇 Pearson相關(guān)&Spearman相關(guān) 偏相關(guān) 相關(guān)關(guān)系可視化 第一部分: 相關(guān)性分析方法選擇 相關(guān)分析是研究兩種或兩種以上隨機變量...

本期內(nèi)容速覽:

  1. 相關(guān)性分析方法選擇
  2. Pearson相關(guān)&Spearman相關(guān)
  3. 偏相關(guān)
  4. 相關(guān)關(guān)系可視化

第一部分: 相關(guān)性分析方法選擇

相關(guān)分析是研究兩種或兩種以上隨機變量之間的關(guān)系的一種統(tǒng)計學(xué)方法,可以分析變量間的關(guān)系情況以及關(guān)系強弱程度等,如身高和體重之間的相關(guān)性。

對于不同類型的變量,需選擇合適的相關(guān)性分析方法,我們常用的相關(guān)性分析方法及適用條件如下:

1.1 Pearson相關(guān)系數(shù)

最常用,又稱積差相關(guān)系數(shù),適用于連續(xù)變量之間的相關(guān)性分析;使用條件:變量都需符合正態(tài)分布

1.2 Spearman秩相關(guān)系數(shù)

適合含有有序分類變量或者全部是有序分類變量的相關(guān)性分析;但其屬于非參數(shù)方法,檢驗效能較Pearson系數(shù)低

1.3 無序分類變量的相關(guān)性

最常用的為卡方檢驗,用于評價兩個無序分類變量的相關(guān)性(檢驗兩組數(shù)據(jù)是否具有統(tǒng)計學(xué)差異,從而分析因素之間的相關(guān)性)

第二部分: Pearson相關(guān)&Spearman相關(guān)

2.1 相關(guān)系數(shù)計算

R中可計算多種相關(guān)系數(shù),其中最常用的包括Pearson,Spearman和Kendall相關(guān)系數(shù),最基礎(chǔ)的,cor(x = ,y = ,use = ,method = ) 可用于計算相關(guān)系數(shù); cov(x = ,y = ,use = ,method = )可用于計算協(xié)方差。

*相關(guān)系數(shù):反映變量間相關(guān)關(guān)系的方向和程度,取值-1~1。

*協(xié)方差:在概率論和統(tǒng)計學(xué)中用于衡量兩個變量的總體誤差(如果兩個變量的變化趨勢一致,那么兩個變量之間的協(xié)方差就是正值;如果兩個變量的變化趨勢相反,那么兩個變量之間的協(xié)方差就是負值)。關(guān)于協(xié)方差,若想深入學(xué)習(xí)和理解可參考該博客的講解 ↓

“https://blog.csdn.net/qq_31073871/article/details/81057030”

① 兩變量相關(guān)性分析

cor(x = ,y = ,use = ,method = ) cov(x = ,y = ,use = ,method = )

參數(shù)注釋:

x:變量x

y:變量y

use:指定缺失數(shù)據(jù)的處理方式(all.obs–遇到缺失數(shù)據(jù)時報錯、 everything–遇到缺失數(shù)據(jù)時相關(guān)系數(shù)設(shè)為missing、complete.obs–遇到缺失數(shù)據(jù)執(zhí)行行刪除;默認”everything”)

method:指定相關(guān)系數(shù)類型(”pearson”, “spearman”, “Kendall”;默認”pearson”)

② 相關(guān)性矩陣

cor(x = ,use = ,method = ) cov(x = ,use = ,method = )

參數(shù)注釋:

x:矩陣或數(shù)據(jù)框

use:指定缺失數(shù)據(jù)的處理方式(all.obs–遇到缺失數(shù)據(jù)時報錯、 everything–遇到缺失數(shù)據(jù)時相關(guān)系數(shù)設(shè)為missing、complete.obs–遇到缺失數(shù)據(jù)執(zhí)行行刪除;默認”everything”)

method:指定相關(guān)系數(shù)類型(”pearson”, “spearman”, “Kendall”;默認”pearson”)

2.2 相關(guān)系數(shù)的顯著性檢驗

探索變量之間的相關(guān)性,在計算出相關(guān)系數(shù)后還需進行顯著性檢驗。常用的原假設(shè)H0為變量間不相關(guān),即相關(guān)系數(shù)為0。

① 兩變量相關(guān)性分析的顯著性檢驗

cor.test(x, y, alternative = c("two.sided", "less", "greater"), method = , conf.level = 0.95)

參數(shù)注釋:

x:變量x

y:變量y

alternative:指定雙側(cè)/單側(cè)檢驗

method:指定相關(guān)系數(shù)類型(”pearson”, “spearman”, “Kendall”;默認”pearson”)

conf.level:設(shè)置檢驗水準

② 相關(guān)性矩陣的顯著性檢驗

library(psych) corr.test(x, method = )

參數(shù)注釋:

x:矩陣或數(shù)據(jù)框

method:指定相關(guān)系數(shù)類型(”pearson”, “spearman”, “Kendall”;默認”pearson”)

2.3 相關(guān)分析實例演練

本文舉例使用的數(shù)據(jù)為20個基因的表達數(shù)據(jù),可在公眾號中發(fā)送 “cor2” 獲取文件(“cor2.Rdata”)。原始數(shù)據(jù)大體情況如下圖所示:

load("cor.Rdata") # 文件詳情見本文開頭cor(mydata$GLT1D1,mydata$SCG5) # 結(jié)果:[1] 0.6640603
cor.test(mydata$GLT1D1,mydata$SCG5)#結(jié)果:Pearson'sproduct-momentcorrelationdata:mydata$GLT1D1andmydata$SCG5t=15.962,df=323,p-value<2.2e-16alternative hypothesis:truecorrelationisnotequalto095 percent confidence interval:0.59850690.7207800sample estimates:cor0.6640603
cr<- cor(mydata) # 結(jié)果樣式如下圖

第三部分: 偏相關(guān)

很多時候,要分析研究的兩個變量會受到其他非研究變量的影響,此時需要控制這些非研究的因素,進行偏相關(guān)分析(比如,身高與體重、肺活量都相關(guān),那么在研究體重與肺活量之間相關(guān)性時,應(yīng)剔除身高變量的影響)。

*偏相關(guān):在控制一個或多個變量的情況下,分析另外兩個變量的相關(guān)關(guān)系。

3.1 偏相關(guān)系數(shù)的計算

進行偏相關(guān)分析可使用ggm包的pcor(u, S)函數(shù)實現(xiàn)

library(ggm) pcor(u, S)

參數(shù)注釋:

u:輸入一個數(shù)值向量,前兩個數(shù)值為兩個研究變量在數(shù)據(jù)框中對應(yīng)的下標,其余數(shù)值為

S:所有變量的協(xié)方差矩陣

3.2 偏相關(guān)系數(shù)的顯著性檢驗

library(ggm) pcor.test(r, q, n)

參數(shù)注釋:

r:由pcor(u, S)計算出的偏相關(guān)系數(shù)

q:控制的變量數(shù)

n:樣本大小

3.3 偏相關(guān)分析實例演練

還使用cor2.Rdata數(shù)據(jù)為例:繪制相關(guān)矩陣圖后發(fā)現(xiàn),GLT1D1與SCG5呈顯著正相關(guān),KCNC3、L1CAM與GLT1D1和SCG5都呈顯著正相關(guān)。

此時,控制KCNC3、L1CAM兩個變量,分析GLT1D1和SCG5之間的相互關(guān)系,即計算其偏相關(guān)系數(shù):

library(ggm) pcor(c(7,11,17,20),cov(mydata)) pcor.test(pcor(c(7,11,17,20),cov(mydata)),2,325)

結(jié)果:

> pcor(c(7,11,17,20),cov(mydata)) [1]0.5183269> pcor.test(pcor(c(7,11,17,20),cov(mydata)),2,325) $tval[1]10.85919$df[1]321 $pvalue[1]1.321436e-23

從結(jié)果來看,GLT1D1和SCG5的偏相關(guān)系數(shù)為0.52,小于之前的0.66,這是由于控制了KCNC3、L1CAM兩個變量的影響。

第四部分: 相關(guān)關(guān)系可視化

4.1 散點圖

以GLT1D1和SCG5基因表達數(shù)據(jù)為例,繪制散點圖:

library(ggplot2) plotdata <-mydata[,c("GLT1D1","SCG5")] ggplot(plotdata,aes(GLT1D1,SCG5))+ geom_point(size=2)+stat_smooth(method= lm,level= 0.95)+# method= lm(線性),level= 0.95(擬合線置信區(qū)間為95%)theme_classic()+ theme(axis.title= element_text(size= 15),axis.text= element_text(size= 12))

關(guān)于散點圖的繪制,更多繪制和美化方法可參考:

R-可視化基礎(chǔ)(5)——散點圖、折線圖

4.2 相關(guān)矩陣

還以“cor2.Rdata”文件的數(shù)據(jù)為例,繪制相關(guān)矩陣:

library(psych) library(corrplot) cr <- cor(mydata) p <- cor.mtest(mydata, conf.level = .95) corrplot(cr, method = "color", col = colorRampPalette(c('navy','white','firebrick3'))(200), addCoef.col = "black",number.cex = 0.8,###添加系數(shù)及字體tl.col = "black", tl.srt = 45, ### 上部標簽的顏色和傾斜度p.mat = p$p, sig.level = 0.05, insig = "blank", ###結(jié)合P值,顯示具有統(tǒng)計學(xué)意義的關(guān)聯(lián)點diag = T) ###顯示對角線上的相關(guān)系數(shù)

關(guān)于相關(guān)矩陣的更多可視化方法可參考:

R語言之相關(guān)性分析

4.3 相關(guān)可視化——棒棒糖圖

研究多個變量與另一個變量的相關(guān)性時,可用棒棒糖圖呈現(xiàn)相關(guān)性分析結(jié)果,如分析CSTF1、PARP4、SMO、ATF6、L1CAM、KCNC3與GLT1D1表達相關(guān)性并繪圖:

cr<- cor(mydata) gene <- c("CSTF1","PARP4","SMO","ATF6","L1CAM","KCNC3") plotdata <- data.frame(gene,cor=cr[gene,"GLT1D1"]) plotdata$correlation<- ifelse(plotdata$cor> 0,'positive correlation','negative correlation') library(ggplot2) ggplot(plotdata,aes(x=cor,y=reorder(gene,cor)))+ ylab('Gene')+ xlab('pearson-r')+ ggtitle("Expression correlation with GLT1D1")+ geom_segment(aes(yend=gene),xend=0,colour='grey50')+ ###繪制以數(shù)據(jù)點為端點的線段geom_point(size=3,aes(colour=correlation))+ ###此處我們將以正負相關(guān)(postive negative)映射其顏色scale_colour_brewer(palette = 'Set1',limits=c('positive correlation','negative correlation'))+ ###顏色加深 theme_bw() + theme(panel.grid.major.y = element_blank(), panel.grid.major.x = element_blank(), panel.grid.minor.x = element_blank(), plot.title = element_text(hjust = 0.5))

相關(guān)性分析棒棒糖圖的詳細繪制方法可參考:

R語言之相關(guān)性分析–棒棒糖圖

小結(jié)

相關(guān)性分析是一種重要且常用的統(tǒng)計學(xué)方法,理清各種相關(guān)性分析的適用條件、掌握相關(guān)性分析及繪圖的實現(xiàn)方法尤為重要。相關(guān)關(guān)系的可視化方法還有許多,如遇到有趣的相關(guān)關(guān)系圖形,歡迎與小編聯(lián)系交流,共同學(xué)習(xí)!

本文原創(chuàng)作者:韜聲依舊,請支持原創(chuàng)!

感謝大家耐心看完,自己的文章都寫的很細,代碼都在原文中,希望大家都可以自己做一做,請關(guān)注后私信回復(fù)“數(shù)據(jù)鏈接”獲取所有數(shù)據(jù)和本人收集的學(xué)習(xí)資料。如果對您有用請先收藏,再點贊轉(zhuǎn)發(fā)。

也歡迎大家的意見和建議。

如果你是一個大學(xué)本科生或研究生,如果你正在因為你的統(tǒng)計作業(yè)、數(shù)據(jù)分析、論文、報告、考試等發(fā)愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何問題,都可以聯(lián)系我。因為我可以給您提供好的,詳細和耐心的數(shù)據(jù)分析服務(wù)。

如果你對Z檢驗,t檢驗,方差分析,多元方差分析,回歸,卡方檢驗,相關(guān),多水平模型,結(jié)構(gòu)方程模型,中介調(diào)節(jié),量表信效度等等統(tǒng)計技巧有任何問題,請私信我,獲取詳細和耐心的指導(dǎo)。

If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #reports, #composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.

Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis…??

Then Contact Me. I will solve your Problem…

加油吧,打工人!