日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

R计算两列数据的相关系数_相关系数简介及R计算

發(fā)布時間:2023/12/29 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R计算两列数据的相关系数_相关系数简介及R计算 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
變量間Pearson、Spearman、Kendall、Polychoric、Tetrachoric、Polyserial、Biserial相關(guān)系數(shù)簡介及R計算對于給定數(shù)據(jù)集中,變量之間的關(guān)聯(lián)程度以及關(guān)系的方向,常通過相關(guān)系數(shù)衡量。就關(guān)系的強度而言,相關(guān)系數(shù)的值在+1和-1之間變化,值±1表示變量之間存在完美關(guān)聯(lián)程度,即完全相關(guān)時絕對值為1;隨著相關(guān)系數(shù)值趨于0,意味著變量之間的關(guān)系將減弱,完全不相關(guān)時為0。關(guān)系的方向由系數(shù)的符號表示;+號表示正向關(guān)系,-號表示負(fù)向關(guān)系。

圖示兩個變量之間的相關(guān)系數(shù),正相關(guān)意味著圖表從左到右具有向上的斜率:隨著x值的增加,y值會變大;負(fù)相關(guān)性意味著圖表從左到右具有向下的斜率:隨著x值的增加,y值會變小;零(不相關(guān))表示y不隨x的變化而變化。

常見的變量間相關(guān)系數(shù)簡介

首先簡介常見的用于描述變量間相關(guān)性的系數(shù),包括Pearson、Spearman、Kendall、Polychoric、Tetrachoric、Polyserial、(Point-)Biserial等。??

Pearson相關(guān)(連續(xù)變量,數(shù)值相關(guān))

Pearson相關(guān)系數(shù)(皮爾森相關(guān))是使用最廣泛的相關(guān)性統(tǒng)計量,用于測量兩組連續(xù)變量之間的線性關(guān)聯(lián)程度。

Pearson相關(guān)系數(shù)計算如下:

rxy,變量x和y的Pearson相關(guān)系數(shù);

n,觀測對象的數(shù)量;

xi,x的第i個觀測值;

yi,y的第i個觀測值。

Pearson相關(guān)系數(shù)應(yīng)用于連續(xù)變量,假定兩組變量均為正態(tài)分布、存在線性關(guān)系且等方差。線性關(guān)系假設(shè)兩個變量之間是線性響應(yīng)的,等方差假設(shè)數(shù)據(jù)在回歸線上均勻分布。

Spearman秩相關(guān)(連續(xù)變量,秩相關(guān))

Spearman秩相關(guān)系數(shù)(斯皮爾曼等級相關(guān))是一種非參數(shù)統(tǒng)計量,其值與兩組相關(guān)變量的具體值無關(guān),而僅僅與其值之間的大小關(guān)系有關(guān)。Spearman秩相關(guān)依據(jù)兩列成對等級的各對等級數(shù)之差進(jìn)行計算,所以又稱為“等級差數(shù)法”。當(dāng)變量在至少是有序的尺度上測量時,它是合適的相關(guān)分析方法。

Spearman秩相關(guān)系數(shù)計算如下:

ρ,Spearman秩相關(guān)系數(shù);

di,對應(yīng)變量的秩之差,即兩個變量分別排序后成對的變量位置(等級)差;

n,觀測對象的數(shù)量。

Spearman秩相關(guān)同樣應(yīng)用于連續(xù)變量,與Pearson相關(guān)相比Spearman秩相關(guān)不要求變量的正態(tài)性和等方差假設(shè),且對異常值的敏感度較低(該方法基于變量的排序,因此異常值的秩次通常不會有明顯變化),因此適用范圍通常更廣。但方法較為保守,統(tǒng)計效能較Pearson相關(guān)系數(shù)低,容易忽略一些不太強的線性關(guān)系。

此外,Spearman秩相關(guān)要求數(shù)據(jù)必須至少是有序的,一個變量的得分必須與另一個變量單調(diào)相關(guān)(monotonically related)。?

Kendall相關(guān)(分類變量,秩相關(guān))

Kendall?相關(guān)系數(shù)則用于計算分類變量間的秩相關(guān),用于反映分類變量相關(guān)性的指標(biāo),適用于兩個分類變量均為有序分類的情況。

考慮兩組變量,x和y,它們各自的觀測值數(shù)量均為n,則x與y觀測值可能配對的總數(shù)為n(n-1)/ 2。由于x和y為分類變量,需要首先根據(jù)類別表示的重要度人工賦值。隨后考察x和y的關(guān)系對,如果xii且xjj,或xi>yi且xj>yj,則該關(guān)系對是一致的(concordant),反正則不一致(discordant)。一致關(guān)系對數(shù)量與不一致關(guān)系對數(shù)量的差值除以總關(guān)系對數(shù)量,可得Kendall?相關(guān)系數(shù):

如果一致對的數(shù)量比不一致對的數(shù)量大得多,則變量是正相關(guān)的;如果一致對的數(shù)目比不一致對的數(shù)目少得多;則變量是負(fù)相關(guān)的;如果一致對的數(shù)目與不一致對的數(shù)目大致相同,則變量之間的關(guān)系很弱。

Polychoric相關(guān)(二元有序變量間的相關(guān))

Polychoric相關(guān)(多分格相關(guān))度量多個對象之間關(guān)于有序變量(有時稱為“有序類別”數(shù)據(jù))之間的一致性。當(dāng)以列聯(lián)表的形式組織數(shù)據(jù)時,兩個分類自變量被排序,據(jù)此計算Polychoric相關(guān)系數(shù)。

對于2×2列聯(lián)表的情況,Polychoric相關(guān)系數(shù)也稱為Tetrachoric相關(guān)系數(shù)(作為Polychoric相關(guān)的一種常見類型)。通過以下對Tetrachoric相關(guān)的描述即可理解Polychoric相關(guān)的定義。??

Tetrachoric相關(guān)(二元有序變量間的相關(guān),Polychoric相關(guān)的某種常見類型)

Tetrachoric相關(guān)(四分相關(guān))是在二元正態(tài)性假設(shè)下從2×2表推斷出的Pearson相關(guān),用于測量二元數(shù)據(jù)一致性。Tetrachoric相關(guān)要求基本變量來自正態(tài)分布,并且二元數(shù)據(jù)中存在一個潛在的連續(xù)梯度,即觀測值的特征應(yīng)該是連續(xù)而非離散的。

首先將觀察數(shù)值矩陣獲得列聯(lián)表,并通過下式計算:

?

Polyserial相關(guān)(定量變量和序數(shù)變量的相關(guān))

Polyserial相關(guān)(多系列相關(guān))測量的是兩個連續(xù)變量之間的相關(guān)關(guān)系,它們具有二元正態(tài)分布,其中一個變量可以直接觀測到(以定量數(shù)值記錄),而另一個變量無法被觀測(以序數(shù)值記錄)。通過將可觀測的連續(xù)變量分類為有限的離散有序值集,可以從可觀測的有序變量獲得不可觀測有序變量的信息。

通過以下其特殊形式Biserial相關(guān)幫助理解。

Biserial相關(guān)(連續(xù)變量和二元有序變量的相關(guān),Polyserial相關(guān)的某種特例)

Biserial相關(guān)系數(shù)為Polyserial相關(guān)的一種特例,用于測量一組連續(xù)變量和一組二元變量的線性關(guān)系,二元變量是二分序數(shù)類型,具有潛在的連續(xù)性。

Y0,x=0時變量對的平均分;

Y1,x=1時變量對的平均分;

p,x=1時變量對的比例;

q,x=0時變量對的比例;

σy,總體標(biāo)準(zhǔn)偏差。

Point-Biserial相關(guān)(連續(xù)變量和二元分類變量的相關(guān))

與Biserial相關(guān)系數(shù)相比,Point-Biserial相關(guān)系數(shù)用于測量一組連續(xù)變量和一組二元分類變量的線性關(guān)系,分類變量是無序的。

M1,二元變量組“1”對象對應(yīng)的連續(xù)變量的均值;

M0,二元變量組“0”對象對應(yīng)的連續(xù)變量的均值;

Sn,連續(xù)變量的標(biāo)準(zhǔn)偏差;

p,二元變量組“1”對象所占總對象的比例;

q,二元變量組“0”對象所占總對象的比例。

R語言計算相關(guān)系數(shù)

接下來展示在R中計算上述提到的相關(guān)系數(shù)的方法。??

Pearson、Spearman和Kendall相關(guān)

在R中,cor()可用于計算Pearson、Spearman和Kendall相關(guān)矩陣,cov()可用于獲得協(xié)方差矩陣。

##Pearson、Spearman、Kendall 相關(guān)
data(mtcars)
#標(biāo)準(zhǔn)化不影響相關(guān)系數(shù)計算值,但可以讓數(shù)據(jù)服從均值 0,標(biāo)準(zhǔn)差 1 的等方差結(jié)構(gòu)
mtcars
#協(xié)方差計算,cov()
cov_pearson cov_pearson
cov_spearman cov_spearman
cov_kendall cov_kendall
#相關(guān)系數(shù)計算,cor()
cor_pearson cor_pearson
cor_spearman cor_spearman
cor_kendall cor_kendall
#相關(guān)圖,例如
library(corrplot)
corrplot(cor_pearson, method = 'number', number.cex = 0.8, diag = FALSE, tl.cex = 0.8)
corrplot(cor_pearson, add = TRUE, type = 'upper', method = 'pie', diag = FALSE, tl.pos = 'n', cl.pos = 'n')
#輸出,例如
write.table(cor_pearson, 'cor_pearson.txt', sep = '\t', col.names = NA, quote = FALSE)

直接指定數(shù)據(jù)集,默認(rèn)計算所有變量間的相關(guān)系數(shù),獲得斜對角線對稱的矩陣。

也可指定兩組變量集,獲得相互之間兩兩變量間非對稱的相關(guān)矩陣。

#指定兩組變量集,獲得非對稱的相關(guān)矩陣,例如
x y
cor_pearson_xy cor_pearson_xy
#相關(guān)圖
corrplot(cor_pearson_xy, method = 'square', addCoef.col = 'black', number.cex = 0.8, tl.cex = 1.2)
#輸出,例如
write.table(cor_pearson_xy, 'cor_pearson_xy.txt', sep = '\t', col.names = NA, quote = FALSE)

偏相關(guān)

偏相關(guān)是指在控制一個或多個定量變量時,另外兩個定量變量之間的相互關(guān)系。R包ggm中提供的命令pcor()可以計算偏相關(guān)系數(shù)。

##偏相關(guān),ggm 包 pcor()
library(ggm)
#要計算相關(guān)系數(shù)的兩個變量,或指定下標(biāo)
x1
#要控制的條件變量,或指定下標(biāo)
x2
#指定協(xié)方差矩陣,計算偏相關(guān)
pcor_pearson pcor_pearson

Polychoric和Tetrachoric相關(guān)

psych包提供了計算這些相關(guān)系數(shù)的方法。

psych包也能計算Polyserial和Biserial相關(guān),但文檔中沒提供示例,沒看明白……

##Polychoric、Tetrachoric
library(psych)
#Polychoric 相關(guān)
data(bock)
polyc polyc
#Tetrachoric 相關(guān)
tetr tetr

Polyserial和(Point-)Biserial相關(guān)

以ltm包提供的方法為例。

##Polyserial、(Point-)Biserial
library(ltm)
#Polyserial 相關(guān)
mpg polys polys
#Point-Biserial 相關(guān)
poi_biser poi_biser
#Biserial 相關(guān)
biser biser

變量相關(guān)性的顯著性檢驗

通常來講,相關(guān)性分析是一種用于描述變量關(guān)聯(lián)程度的探索性分析方法,而非確立因果關(guān)系的模型,不涉及假設(shè)檢驗過程。但如果有必要,仍可以計算相關(guān)系數(shù)的顯著性,評估哪些變量間的關(guān)聯(lián)程度是更重要的。

一些R包提供了計算變量間相關(guān)系數(shù)顯著性的方法。此外,也可以自寫函數(shù)獲得,見下文。??

psych包的方法

計算相關(guān)矩陣及顯著性水平。

library(psych)
#所有變量間相關(guān)系數(shù)的對稱矩陣
corr_matrix corr_matrix$r #相關(guān)矩陣
corr_matrix$p #p 值矩陣
#相關(guān)圖,只展示 p < 0.05 的相關(guān)系數(shù)
library(corrplot)
col1 corrplot(corr_matrix$r, p.mat = corr_matrix$p, sig.level = 0.05, insig = 'blank', method = 'number',
diag = FALSE, col = col1(21), tl.cex = 1)
corrplot(corr_matrix$r, p.mat = corr_matrix$p, sig.level = 0.05, insig = 'blank', method = 'circle',
add = TRUE, type = 'upper', diag = FALSE, col = col1(21), tl.pos = 'n', cl.pos = 'n')
#自定義篩選,例如選擇 |r| >=0.7,p < 0.05 的結(jié)果,將不滿足條件的相關(guān)系數(shù)值賦值為 0 后輸出
corr_matrix$p[corr_matrix$p >= 0.05] corr_matrix$p[corr_matrix$p < 0.05 & corr_matrix$p >= 0] corr_matrix$p[corr_matrix$p == -1]
corr_matrix$r[abs(corr_matrix$r) < 0.7] corr_matrix$r write.table(corr_matrix$r, 'corr_matrix_select.txt', sep = '\t', col.names = NA, quote = FALSE)

#給定兩組變量間相關(guān)系數(shù)的非對稱矩陣
x y
corr_matrix corr_matrix$r #相關(guān)矩陣
corr_matrix$p #p 值矩陣
#相關(guān)圖,只展示 p < 0.05 的相關(guān)系數(shù)
col1 corrplot(corr_matrix$r, p.mat = corr_matrix$p, sig.level = 0.05, insig = 'blank',
method = 'square', addCoef.col = 'black', col = col1(21), number.cex = 0.8, tl.cex = 1.2)

Hmisc包的方法

計算相關(guān)矩陣及顯著性水平。

library(Hmisc)
#所有變量間相關(guān)系數(shù)的對稱矩陣
rcorr_matrix rcorr_matrix$r #相關(guān)矩陣
rcorr_matrix$P #p 值矩陣
#給定兩組變量間相關(guān)系數(shù)的非對稱矩陣
x y
rcorr_matrix rcorr_matrix$r #相關(guān)矩陣
rcorr_matrix$P #p 值矩陣
#相關(guān)圖、自定義結(jié)果篩選等,參考上述

手寫置換檢驗程序

置換檢驗是個百搭的非參數(shù)檢驗方法,相關(guān)系數(shù)的顯著性可根據(jù)置換檢驗的原理獲得。

上述提到的所有相關(guān)系數(shù),包括Polychoric、Tetrachoric、Polyserial、(Point-)Biserial等,如果找不到計算顯著性的R包,不妨考慮手寫函數(shù)計算,其實并不難。

#計算觀測值的相關(guān)系數(shù)(cor0),還是以 Pearson 相關(guān)為例,其它類似
cor0
#隨機(jī)置換數(shù)據(jù) 999 次,計算每次置換后數(shù)據(jù)計算的相關(guān)系數(shù)(corN),并統(tǒng)計 |corN|>|cor0| 的頻數(shù)
p_num p_num[abs(p_num)>0]
set.seed(123)
for (i in 1:999) {
random corN
corN[abs(corN) >= abs(cor0)] corN[abs(corN) < abs(cor0)] p_num }
#p 值矩陣,即 |corN|>|cor0| 的概率
p p
#相關(guān)圖比較,僅顯著(p < 0.05)的相關(guān)系數(shù)標(biāo)以背景色
#左圖為手寫的置換檢驗結(jié)果,右圖為 psych 包獲得的結(jié)果,二者是一致的
library(corrplot)
library(psych)
cor_psych
layout(matrix(c(1,2), 1, 2, byrow = TRUE))
corrplot(cor0, method = 'square', type = 'lower', p.mat = p, sig.level = 0.05, insig = 'blank',
addCoef.col = 'black', diag = FALSE, number.cex = 0.8, tl.cex = 0.8)
corrplot(cor_psych$r, method = 'square', type = 'lower', p.mat = cor_psych$p, sig.level = 0.05, insig = 'blank',
addCoef.col = 'black', diag = FALSE, number.cex = 0.8, tl.cex = 0.8)

參考資料

Pearson, Spearman &?Kendall:https://www.statisticssolutions.com/correlation-pearson-kendall-spearman/

(Point-)Biserial:https://www.statisticshowto.datasciencecentral.com/point-biserial-correlation/

Tetrachoric & Polychoric:http://john-uebersax.com/stat/tetra.htm

Polyserial:http://support.sas.com/documentation/cdl/en/procstat/63963/HTML/default/viewer.htm#procstat_corr_sect019.htm

友情鏈接

相關(guān)分析

基于降維維分析描述矩陣相關(guān)的方法:

Mantel tests典范相關(guān)分析(CCorA)協(xié)慣量分析(CoIA)多重協(xié)慣量分析(MCoIA)協(xié)對應(yīng)分析(CoCA)RLQ和第四角分析

多元因子分析(MFA)

假設(shè)檢驗

兩組間比較:

參數(shù)類:T檢驗

非參數(shù)類:Wilcoxon檢驗

多組間比較:

參數(shù)類,方差分析(ANOVA):

????單因素方差分析(單因素ANOVA)+多重比較

????單因素協(xié)方差分析(ANCOVA)

????雙因素方差分析(雙因素ANOVA)

多元方差分析(MANOVA)和穩(wěn)健多元方差分析(穩(wěn)健MANOVA)

非參數(shù)類,ANOVA的替代方法:

????????Kruskal-Wallis檢驗和Friedman檢驗+Wilcoxon檢驗/或非參數(shù)多重比較

? ? ? 非參數(shù)單因素協(xié)方差分析

? ?非參數(shù)雙因素方差分析(Scheirer-Ray-Hare檢驗)

置換多元方差分析(PERMANOVA)其它非參數(shù)檢驗方法:置換檢驗? ??自助法(bootstrap)

基于距離的差異檢驗:

置換多元方差分析(PERMANOVA)相似性分析(ANOSIM)MRPP分析AMOVA分析

總結(jié)

以上是生活随笔為你收集整理的R计算两列数据的相关系数_相关系数简介及R计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。