相關性分析就是通過定量指標描述變數之間的強弱、直接或間接的聯絡。
常見相關性指標
pearson相關係數是用於表示相關性大小的最常用指標,數值介於-1~1之間,越接近0相關性越低,越接近-1或1相關性越高。正負號表明相關方向,正號為正相關、負號為負相關。
又稱為秩相關係數,利用兩變數的秩次大小來進行分析,屬於非引數統計方法。
kendall』s tau相關係數是一種非引數檢驗。
當要進行相關性分析的兩個變數其取值受到其他變數影響時,可以利用偏相關分析對其他變數進行控制,在控制其他變數基礎之上進行這兩個變數之間相關性分析。
pearson、spearman、kendall相關係數都可以通過cor函式實現,cov協方差函式引數同cor函式。
協方差是相關分析中乙個重要概念,方差是協方差的一種特殊存在。樣本協方差是離均差乘積在樣本中的平均,可以近似反映變數x與變數y之間的聯絡強弱和方向。協方差可以引出相關分析概念。
協方差的大小與x、y的量綱有關。函式格式基本為:
cor(x,use=,method=)
引數描述
x矩陣或資料框
use指定缺失資料的處理方式。可選項:all.obs(假設不存在缺失資料)、everything(資料存在缺失值時,相關係數計算結果會顯示missing)、complete.obs(行刪除)、pairwise.complete.obs(成對刪除)
method
指定相關係數的型別。可選型別為pearson、spearman、kendall
預設為use=『everything』,method=『pearson』state.x77:r語言自帶美國50州2023年的人口、收入、文盲率、預期壽命、**率和高中畢業率資料。
#選中state.x77資料集收入與高中畢業率變數
states
#協方差
cov(states)
income hs grad
income 377573.306 3076.76898
hs grad 3076.769 65.23789
#相關性分析
cor(states)
income hs grad
income 1.0000000 0.6199323
hs grad 0.6199323 1.0000000
#spearman相關
cor(states,method = 'spearman')
income hs grad
income 1.0000000 0.5104809
hs grad 0.5104809 1.0000000
#結果顯示,收入與高中畢業率有較高相關性
使用ggm包pcor()函式計算偏相關係數。
函式呼叫格式為:
pcor(u,s)
其中,u為乙個數值向量,前兩個數值表示要計算相關係數的變數下標,其餘變數為條件變數下標。s為變數的協方差矩陣。
#載入ggm包
library(ggm)
#生成資料集
states
#獲取資料集各變數名稱
colnames(states)
[1] "population" "income"
[3] "illiteracy" "life exp"
[5] "murder" "hs grad"
#計算偏相關
pcor(c(1,5,2,3,6),cov(states))
[1] 0.3462724
#結果顯示,在控制了收入、文盲率個高中畢業率影響時,人口和**率之間的相關係數為0.346
使用cor.test()函式對單個pearson、spearman、kendall相關係數進行檢驗。
函式格式為:
cor.test(x,y,alternative=』』,method=)
其中,x和y為要檢驗相關性的變數,alternative則用來指定進行雙側檢驗或單側檢驗(『two.side』、『less』、『greater』)。method用以指定要計算的相關型別(pearson、spearman、kendall)。
#檢驗預期壽命與**率相關性。
cor.test(states[,3],states[,5])
pearson's product-moment
correlation
data: states[, 3] and states[, 5]
t = 6.8479, df = 48, p-value =
1.258e-08
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.5279280 0.8207295
sample estimates:
cor
0.7029752
#結果顯示,p大於0.05。即兩者之間相關性微乎其微。
cor.test()每次只能檢驗一種相關關係。
psych包中corr.test()可以一次檢驗多種。
library(psysh)
corr.test(states,use = 'complete')
#結果太大,不再展示
最簡單兩個連續變數相關性視覺化用散點圖表達。
使用plot()函式即可。
#選中變數收入與高中畢業率
states
#繪圖plot(states)
R語言相關性
相關係數可以用來描述定量變數之間的關係。相關係數的符號 表明關係的方向 正相 關或負相關 其值的大小表示關係的強弱程度 完全不相關時為0,完全相關時為1 1 pearson spearman和kendall相關 cor 函式可以計算這三種相關係數,而cov 函式可以用於計算協方差,兩個函式的引數有 ...
R語言相關性分析及步驟
記錄一下r語言學習過程,對於r的基礎就是基本資料型別 向量,矩陣,資料框,字串等等 庫的呼叫以及函式自定義,還需要多加學習!進入主題,今天主題是相關性分析 以下為 y c 170,175,180 定義向量 y1 c 20,25,30 y cor.test y,y1,method spearman 呼...
spearman相關性分析 相關性分析
r語言常用函式 cor 預設結果為矩陣 cor mydat,use method use 缺失值的處理,method 處理方法 cor x,y 可以計算非方形矩陣,x y分別為2個矩陣,相同的行數 cor.test x,y,alternative method x y為檢驗相關性的變數 librar...