相關(guān)系數(shù)r的計算公式(R數(shù)據(jù)相關(guān)性分析)
本期內(nèi)容速覽:
- 相關(guān)性分析方法選擇
- Pearson相關(guān)&Spearman相關(guān)
- 偏相關(guān)
- 相關(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.6640603cor.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…
加油吧,打工人!
作者:yunbaotang本文地址:http://www.ntlljf.com/bao/90534.html發(fā)布于 2024-01-18
文章轉(zhuǎn)載或復(fù)制請以超鏈接形式并注明出處孕寶堂

