1. 程式人生 > >R語言特徵值相關性分析

R語言特徵值相關性分析

轉載自http://www.sohu.com/a/200219694_278730

接觸這麼多組學資料,大家肯定做過各種相關性分析。大到幾個轉錄組樣本的整體相關性分析,小到挑選了一些候選基因看它們在不同樣本中的表達模式相關性。當我們做完了相關性分析的時候,常常會用下面這種圖形來展示:

那麼問題來了,有沒有別的方法,可以讓我的相關性分析展現方式更高大上呢?

請出今天的主角,corrplot程式包!

1

老規矩,第一步是安裝並呼叫corrplot:

install.packages("corrplot")

library("corrplot")

2

第二步,整理資料。今天就拿一些女明星的身高、體重、年齡、微博粉絲與女神指數的資料來分析一下(純屬杜撰)。

3

第三步,我們讀取資料,並做相關性分析。

a<-read.table(file=file.choose(),row.names=1,header=T,sep="t")

b<-cor(a)

4

第四步,非常簡單,可以直接作圖了。

corrplot(b) #這裡預設是圓形顯示

還可以用餅圖(pie),顏色(color)等等來顯示。

corrplot(b,method="pie")

corrplot(b,method="color",addCoef.col="grey") #用顏色顯示,同時顯示相關係數,是不是跟開頭綠綠的圖一樣啦。

5

第五步,是時候展示高階操作了!我們把顏色對調一下,正相關為紅色,負相關為海軍藍色,同時把右上角用圓形展示。

col=colorRampPalette(c("navy", "white", "firebrick3")) #設定顏色

corrplot(b,type="upper",col=col(10),tl.pos="d") #tl.pos="d"即不顯示周邊各列名字

6

第六步,填補下半部分圖形,我們希望既可以圖形化展示,也能顯示數字,增強圖形可讀性。

corrplot(b,add=TRUE, type="lower", method="number",diag=FALSE,tl.pos="n", cl.pos="n",col=col(10))

相關性分析結論:

  1. 女神指數與身高成正相關,與體重呈負相關(嗯,符合大眾審美);

  2. 女神指數與年齡相關性不明顯(嗯,志玲姐姐立功了);

  3. 微博粉絲數與女神指數還是有一定正相關性;

  4. 大家也發現了,相關性其實都不是很顯著,那是因為我們選的資料都是準女神以上級別的,她們之間的差距本來就很小,所以資料還是很反映規律的。

7

最後,我們新增一組賈玲和鳳姐的資料,看看結果會不會有顯著變化......

嗯......效果很明顯。