本期內(nèi)容為[R語言可視化-精美圖形繪制系列]--主成分分析(PCA)
主成分分析:PCA(Principal Component Analysis)是一種常用的數(shù)據(jù)分析方法积担。PCA通過線性變換將原始數(shù)據(jù)變換為一組各維度線性無關(guān)的表示埋凯,可用于提取數(shù)據(jù)的主要特征分量,常用于高維數(shù)據(jù)的降維规阀。
一讨便、降維概述
1.1 數(shù)組和序列(Series)的維度
對(duì)于數(shù)組和序列(Series)來說带迟,維度就是shape()函數(shù)返回的結(jié)果爬立,shape()函數(shù)中返回了幾個(gè)數(shù)字,就是幾維(也有人看array()開頭或者結(jié)尾連續(xù)中括號(hào)的數(shù)量)银择。
不分行列的數(shù)組叫一維數(shù)組多糠,此時(shí)shape返回單一的維度上的數(shù)據(jù)個(gè)數(shù)。有行列之分的數(shù)組叫二維數(shù)組浩考,也稱為表夹孔。一張表最多有二個(gè)維度,復(fù)數(shù)的表構(gòu)成了更高維度的表。當(dāng)一個(gè)數(shù)組中存在2張3行4列的表時(shí)搭伤,shape返回的是更高維度的行和列只怎。當(dāng)數(shù)組中存在2組2張3行4列的表時(shí),數(shù)據(jù)就是4維怜俐,shape返回(2,2,3,4)身堡。
數(shù)組中的每一張表,都可以是一個(gè)特征矩陣或一個(gè)DataFrame拍鲤,這些結(jié)構(gòu)永遠(yuǎn)只有一張表贴谎,所以一定有行列,其中行是樣本季稳,列是特征擅这。針對(duì)每一張表,維度指的是樣本的數(shù)量或特征的數(shù)量景鼠,一般無特別說明仲翎,指的都是特征的數(shù)量。除了索引之外铛漓,一個(gè)特征是一維溯香,兩個(gè)特征是二維,n個(gè)特征是n維浓恶。
1.2 圖像中的維度
對(duì)圖像來說玫坛,維度就是圖像中特征向量的數(shù)量。特征向量可以理解為是坐標(biāo)軸问顷,一個(gè)特征向量定義一條直線昂秃,是一維禀梳;兩個(gè)相互垂直的特征向量定義一個(gè)平面杜窄,即一個(gè)直角坐標(biāo)系,就是二維算途;三個(gè)相互垂直的特征向量定義一個(gè)空間塞耕,即一個(gè)立體直角坐標(biāo)系,就是三維嘴瓤;三個(gè)以上的特征向量相互垂直扫外,定義人眼無法看見,也無法想象的高維空間廓脆。
1.3 降維解釋
降維:算法中的“降維”筛谚,指的是降低特征矩陣中特征的數(shù)量。降維的目的是為了讓算法運(yùn)算更快停忿,效果更好驾讲,但其實(shí)還有另一種需求:數(shù)據(jù)可視化写半。圖像和特征矩陣的維度是可以相互對(duì)應(yīng)的,即一個(gè)特征對(duì)應(yīng)一個(gè)特征向量裕循,對(duì)應(yīng)一條坐標(biāo)軸椎扬。所以,三維及以下的特征矩陣谓晌,是可以被可視化的掠拳,這可以幫助我們很快地理解數(shù)據(jù)的分布,而三維以上特征矩陣的則不能被可視化纸肉,數(shù)據(jù)的性質(zhì)也就比較難理解溺欧。
--
一、標(biāo)準(zhǔn)化
為了讓每一個(gè)維度對(duì)分析的結(jié)果造成同樣的影響柏肪,我們需要對(duì)連續(xù)的初始變量的范圍作標(biāo)準(zhǔn)化胧奔。
具體一點(diǎn)說就是因?yàn)槲覀兒罄m(xù)的結(jié)果對(duì)數(shù)據(jù)的方差十分敏感,取值范圍較大的維度會(huì)比相對(duì)較小的維度造成更大的影響(例如一個(gè)在1-100之間變化的維度對(duì)結(jié)果的影響预吆,比一個(gè)0-1的更大)龙填,會(huì)導(dǎo)致一個(gè)偏差較大的結(jié)果,所以拐叉,將數(shù)據(jù)轉(zhuǎn)化到相似的范圍可以預(yù)防這個(gè)問題岩遗。
數(shù)據(jù)標(biāo)準(zhǔn)化的方法如下
二、計(jì)算協(xié)方差矩陣
這一步是為了理解數(shù)據(jù)集中的變量是如何從平均值變化過來的凤瘦,同時(shí)可以查看不同的特征之間又有什么關(guān)系宿礁,此時(shí)我們要計(jì)算協(xié)方差矩陣。
協(xié)方差矩陣是一個(gè)PP的對(duì)稱矩陣(P是維度的數(shù)量)它涵蓋了數(shù)據(jù)集中所有元組對(duì)初始值的協(xié)方差蔬芥,例如一個(gè)擁有三個(gè)變量x,y,z和三個(gè)維度的數(shù)據(jù)集梆靖,協(xié)方差矩陣將是一個(gè)33的矩陣(協(xié)方差的計(jì)算方法及含義見上文):
--
資料來源:
干貨 :一文讀懂主成分分析_數(shù)據(jù)分析v的博客-CSDN博客
主成分分析(PCA)二哥不像程序員的博客-CSDN博客主成分分析
代碼部分:
1. 導(dǎo)入數(shù)據(jù)
## inputdata PCA data
Sample01 Sample02 Sample03 Sample04
mRNA.Solyc00g500329.1.1 -0.2707275 0.4083721 -0.11663103 -0.521047
mRNA.Solyc00g500296.1.1 -0.2707218 0.4827739 -0.05794281 -0.521047
mRNA.Solyc01g005160.4.1 -1.2118387 -0.6153115 1.19154446 -1.224433
mRNA.Solyc01g005760.3.1 0.1866860 0.3774126 0.27799407 1.073132
Sample05
mRNA.Solyc00g500329.1.1 -0.29660887
mRNA.Solyc00g500296.1.1 -0.26940989
mRNA.Solyc01g005160.4.1 -0.02515638
mRNA.Solyc01g005760.3.1 0.87927082
##
Samp conditions
Sample01 CK
Sample02 CK
Sample03 CK
Sample04 Group01
Sample05 Group01
Sample06 Group01
Sample07 Group02
Sample08 Group02
Sample09 Group02
Sample10 Group03
Sample11 Group03
Sample12 Group03
Sample13 Group04
Sample14 Group04
Sample15 Group04
CK Treat_01 Treat_02 Treat_03 Treat_04
gene01 -0.84977517 1.4181238 -0.54757208 -0.1937784 -0.2953731
gene02 0.47702001 1.2419958 0.30147166 0.3991298 1.8328058
gene03 -0.25585638 -0.8757098 0.01523679 0.3542401 -0.2953731
gene04 -0.76343921 -0.1194277 -0.15231595 0.8108953 -0.2953731
gene05 0.01850849 -0.8757098 -1.42282342 1.0168803 3.6391267
gene06 -0.84977517 1.6553410 -0.96212175 3.2958347 -0.2953731
- 過濾參數(shù)
data <- data[apply(data, 1, var)!=0,]
- 計(jì)算絕對(duì)偏差
mads <- apply(data, 1, mad)
data <- data[rev(order(mads)),]
- PCA分析,scale標(biāo)準(zhǔn)化
pca <- prcomp(data_t[,1:variableL], scale=TRUE)
head(pca)
- 結(jié)果展示
fviz_eig(pca, addlabels = TRUE)
## PAC樣品聚類信息展示
fviz_pca_ind(pca, repel=F)
## 根據(jù)樣品分組上色
fviz_pca_ind(pca, col.ind=data_t$conditions, mean.point=F, addEllipses = T, legend.title="Groups")
- 根據(jù)分組上色并繪制95%置信區(qū)間
--
往期文章(總匯)
01-[R語言可視化-精美圖形繪制系列]--精美火山圖
02-R語言可視化-精美圖形繪制系列--柱狀圖
03-R語言可視化-精美圖形繪制系列--功能富集分析
04-R語言可視化-精美圖形繪制系列—多組GO富集可視化
05-[R語言可視化-精美圖形繪制系列--堆積圖]
06-[R語言可視化-精美圖形繪制系列--組間相關(guān)性分析]
07-[R語言可視化-精美圖形繪制系列]--Mental分析
08-[R語言可視化-精美圖形繪制系列--復(fù)雜熱圖+兩圖漸變連線]-【轉(zhuǎn)載】
09-[R語言可視化-精美圖形繪制系列--杀仕校基圖(Sankey)]
10-[R語言可視化-精美圖形繪制系列--柱狀圖誤差線標(biāo)記]
11-跟著NC學(xué)作圖 | 柱狀圖與相關(guān)性圖
12-[R語言可視化-精美圖形繪制系列--GO返吻、KEGG富集通路關(guān)聯(lián)圖]
13-[跟著“基迪奧生物學(xué)”作圖]--截?cái)鄨D
14-[R語言可視化-精美圖形繪制系列]--顯著性箱線圖
14-2[R語言可視化]--箱線圖不同的畫法及參數(shù)設(shè)置 | 學(xué)習(xí)筆記
15-[R語言可視化-精美圖形繪制系列]--組內(nèi)相關(guān)性分析
--
小杜的生信筆記 ,主要發(fā)表或收錄生物信息學(xué)的教程乎婿,以及基于R的分析和可視化(包括數(shù)據(jù)分析测僵,圖形繪制等);分享感興趣的文獻(xiàn)和學(xué)習(xí)資料谢翎!