R語言怎麼做相關性分析

來源:酷知科普網 1.66W

相關係數是表示不同變數之間的統計關係的強弱。其取值範圍是在[-1,1]之間,即強負相關(-1)、完全不相關(0)、強正相關(1)。那麼我們得到一組資料,想要分析其各變數之間的關係,除了傳統演算法(公式計算)外,還可以藉助R語言中封裝好的程式包,不僅可以計算不同種類的相關係數,還可以做相關性的顯著性檢驗等功能全面。

R語言怎麼做相關性分析

操作方法

(01)R語言計算相關係數,首先需要載入cor()函式包,它可以計算三種不同的相關係數如Pearson相關係數、Spearman相關係數、Kendall相關係數。而pcor()函式包則是計算偏相關係數。函式包的下載具體就不細說了,RStudio主頁,tools選單,點Install packages,輸入函式包名稱下載即可,具體請參考本人的另外兩篇經驗“R語言如何做SVM和RF”,介紹如何安裝函式包。另外,cor()函式和cov函式都是內建的無需下載,psych包需要載入。

(02)資料:本文的資料是筆者做論文時通過視窗傅立葉變換提取地類特徵,有其13特徵。部分資料截圖,如圖所示

R語言怎麼做相關性分析 第2張

(03)計算13個特徵之間的相關係數,cor()函式可以計算三種相關係數,其呼叫格式cor(x,use=,method=),use是指定缺失值的處理方式,系統預設是use="everthing"和method="pearson"。一般也需要計算方差和協差陣,用cov()函式即可,下面計算方差和兩種相關係數,程式碼如圖所示

R語言怎麼做相關性分析 第3張

(04)當然如果只想知道部分變數之間的相關係數,則可以呼叫cor(x,y)來計算想要資料的相關係數。如圖所示

R語言怎麼做相關性分析 第4張

(05)相關性的顯著性檢驗:相關係數計算好之後,判斷是否其具有顯著性。則假設變數之間不相關,即總體相關係數為(x,y,alternative=,method=)得出某兩個變數是否顯著。預設情況下alternative=“”即總體相關係數不等於0.若總體相關係數小於0,取“less”,大於0取“greater”。如下圖,檢驗兩個變數的顯著性,概率為p-value=1.217e-11,上億次都少於一次的機會見到0.065這樣大的樣本相關度,幾乎不可能,拒絕原假設。即兩變數的總體相關度不為0.

R語言怎麼做相關性分析 第5張

(06)函式只能每次檢驗一種相關關係。而psych包()函式可以做總體(13個特徵)的相關檢驗。(data,use="complete") use取值有兩種“pairwise”,"complete"是處理缺失值的,程式碼如圖所示,可以清晰相關係數對應的概率。

R語言怎麼做相關性分析 第6張

特別提示

mothod是對應不同的相關係數名稱

熱門標籤