r語言系統計算上是奇異的_R語言相關性分析(上)
技術標籤:r語言系統計算上是奇異的
接觸組學資料這麼久了,大家一定少不了分析各種相關性,譬如大到幾個轉錄組樣本的整體相關性分析,小到挑選了一些候選基因看它們在不同樣本中的表達模式相關性。今天這篇文章給大家講講如何利用R語言進行相關性分析。
1 前言組學資料分析主要有兩類,一類是基於被研究物件的位置和序列。一類是基於演算法。前者比如說lncRNA與mRNA的antisense和cis的作用關係,miRNA和piRNA的靶向基因預測等。後者就比如說機器學習、降維、聚類等演算法。
其中機器學習是通過程式不斷迭代來尋找合適的模型。
降維就是將高維資料通過計算,在儘量保證資料原始分佈特徵的情況下,將資料對映在低維的刻度。
聚類方法很多,常用的是計算歐式距離後,用K-mean聚類演算法進行聚類。
K-mean聚類演算法就是先隨機挑選k箇中心,按照距離遠近分別聚在一起,然後在聚類的簇裡重新選擇平均值作為中心點,重新聚類,再不斷迭代設定的次數,最後的結果就是聚類結果。
當然如果畫樹,還涉及分類樹的演算法。簡而言之,麻煩,不詳細說了。
相關性分析,這就是本文要詳細說的了。
2 相關性分析相關性分析是一種統計技術。
相關性分析,就是衡量兩個變數之間的依賴性強弱
相關性:可以顯示兩個變數是否相關以及如何相關。例如,身高和體重是相關的; 較高的人往往有更大的體重。那麼這種關係就是正相關。那麼再例如汽車排量與每升汽油的里程,是負相關的,汽車排量越大,每升汽油跑的里程就越短。
儘管這種相關性非常明顯,但您的資料可能包含未預料到的相關性。您可能還會產生懷疑,懷疑兩個變數之間是否存在相關性,或者不知道兩者之間的依賴和聯絡程度。這個時候,就需要一種可以量化的指數分析。相關分析可以幫助我們更好地理解資料。
但是,使用相關性分析的時候,我們需要記住的一個關鍵事項是:永遠不要假設相關性就一定意味著A變數的變化會導致B變數的變化。
多年來個人電腦和運動鞋的銷售都急劇增長,並且它們之間存在高度相關性,但你不能認為購買電腦會導致人們購買運動鞋(反之亦然)。但可能還是可能存在相同的調節因素,比如社會生產力的提高和經濟狀況的改善。
1
正負相關性
當兩個變數之間存在非常強烈的相互依賴關係的時候,我們就可以說兩個變數之間的存在高度相關性。
若兩組的值一起增大,我們稱之為正相關,若一組的值增大時,另一組的值減小,我們稱之為負相關。
本次我們用R來進行計算和繪圖,所用的資料是R自帶的mtcars資料。
> mtcars
> head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1