相關係數能夠用來描述定量變量之間的關係,相關係數的符號(+-)代表關係的方向(正相關或負相關),其值大小表示關係的強弱程度(徹底不相關時爲0,徹底相關時爲1)函數
Pearson積差相關係數衡量了兩個定量變量之間的線性相關程度spa
Spearman等級相關係數則衡量分級定序變量之間的相關程度code
Kendall’s Tau相關係數也是一種非參數的等級相關度量it
cov()函數用來計算協方差io
cor()函數用來計算上述三種相關係數, 參數不少,格式爲table
cor(x, use= ,method= )
參數 | 描述 |
x | 矩陣或數據框 |
use | 指定缺失數據的處理方式。可選的方式爲 all.obs(假設不存在缺失的數據--遇到缺失數據是將報錯) everything(遇到缺失是,相關係數的計算結果將被missing) complete.obs(行刪除) pairwise.complete.obs(成對刪除,pairwise deletion) 默認參數爲:use=「everything」 |
method | 指定係數的類型。可選類型爲pearson、spearman或kendall 默認參數爲:method=「pearson」 |
例變量
> states<- state.x77[,1:6] > cov(states) #計算協方差和方差 #在機率論和統計學中,協方差用於衡量兩個變量的整體偏差,而方差是協方差的一種特殊狀況,既當兩個變量相同的狀況 Population Income Illiteracy Life Exp Murder HS Grad Population 19931683.7588 571229.7796 292.8679592 -407.8424612 5663.523714 -3551.509551 Income 571229.7796 377573.3061 -163.7020408 280.6631837 -521.894286 3076.768980 Illiteracy 292.8680 -163.7020 0.3715306 -0.4815122 1.581776 -3.235469 Life Exp -407.8425 280.6632 -0.4815122 1.8020204 -3.869480 6.312685 Murder 5663.5237 -521.8943 1.5817755 -3.8694804 13.627465 -14.549616 HS Grad -3551.5096 3076.7690 -3.2354694 6.3126849 -14.549616 65.237894 > cor(states) #計算Pearson積差相關係數 Population Income Illiteracy Life Exp Murder HS Grad Population 1.00000000 0.2082276 0.1076224 -0.06805195 0.3436428 -0.09848975 Income 0.20822756 1.0000000 -0.4370752 0.34025534 -0.2300776 0.61993232 Illiteracy 0.10762237 -0.4370752 1.0000000 -0.58847793 0.7029752 -0.65718861 Life Exp -0.06805195 0.3402553 -0.5884779 1.00000000 -0.7808458 0.58221620 Murder 0.34364275 -0.2300776 0.7029752 -0.78084575 1.0000000 -0.48797102 HS Grad -0.09848975 0.6199323 -0.6571886 0.58221620 -0.4879710 1.00000000 > cor(states, method="spearman") #計算了Spearman等級相關係數 Population Income Illiteracy Life Exp Murder HS Grad Population 1.0000000 0.1246098 0.3130496 -0.1040171 0.3457401 -0.3833649 Income 0.1246098 1.0000000 -0.3145948 0.3241050 -0.2174623 0.5104809 Illiteracy 0.3130496 -0.3145948 1.0000000 -0.5553735 0.6723592 -0.6545396 Life Exp -0.1040171 0.3241050 -0.5553735 1.0000000 -0.7802406 0.5239410 Murder 0.3457401 -0.2174623 0.6723592 -0.7802406 1.0000000 -0.4367330 HS Grad -0.3833649 0.5104809 -0.6545396 0.5239410 -0.4367330 1.0000000
#計算非方形的相關矩陣 > x <- states[,c("Population", "Income", "Illiteracy", "HS Grad")] > y <- states[,c("Life Exp", "Murder")] > cor(x,y) Life Exp Murder Population -0.06805195 0.3436428 Income 0.34025534 -0.2300776 Illiteracy -0.58847793 0.7029752 HS Grad 0.58221620 -0.4879710
是指控制一個或多個定量變量時,另外兩個定量變量之間的相互關係,能夠使用ggm包的pcor()函數家us年偏相關係數,格式爲統計
pcor(u , s)
其中的 u 是一個數值向量,前兩個數值表示要計算相關係數的變量下標,其他的數值爲條件變量(即要排除影響的變量)的下標,其他的數值爲條件變量(即要排除影響的變量)的下標,S爲變量的協方差陣數據
例tab
> library(ggm) > colnames(states) [1] "Population" "Income" "Illiteracy" "Life Exp" "Murder" "HS Grad" > pcor(c(1,5,2,3,6), cov(states)) [1] 0.3462724 #本例中,在控制了收入、文盲率、高中畢業率的影響時,人口和謀殺率之間的相關係數爲0.346,偏相關係數經常使用於社會科學的研究中
polycor包中的hetcor()函數能夠計算一種混合的相關矩陣,其中包括數值型變量的Pearson積差相關係數、數值型變量和有序變量之間的多系列相關係數、有序變量之間的多分格相關係數以及二分變量之間的四分相關係數,多系列、多分格和四分相關係數都假設有序變量或二分變量由潛在的正態分佈導出,更多參考幫助吧