如何進行PCA分析

PCA分析,指的是主成分分析,是一種無監(jiān)督學(xué)習(xí)的統(tǒng)計分析方法。其原理是將高維數(shù)據(jù)進行降維,通過低維方式展示數(shù)據(jù)。這種分析方式也被廣泛應(yīng)用于物理、氣象、計算機、工程等學(xué)科。對于PCA分析結(jié)果的可視化而言,一般是通過二維(平面圖)或三維(3D圖)的方式進行展示。
R語言是一種用于統(tǒng)計分析的語言,常用于各種高通量數(shù)據(jù)的分析。其中prcomp函數(shù)就被用于進行PCA分析。
本文則以R語言為例,展示如何從數(shù)據(jù)準(zhǔn)備、PCA分析、繪圖直到結(jié)果解讀。
第一步,需要加載相應(yīng)的R包
第二步,讀取相應(yīng)的文件
本腳本需要準(zhǔn)備三個輸入文件:inputfile指代數(shù)據(jù)文件;plot_args_ file指代參數(shù)文件;plot_group_file指代分組文件。各個輸入文件會在下文依次介紹。完成分析后,本腳本會輸出兩個文件:outputfile_detail輸出的是PCA分析之后的文本文件;outputfile指代輸出的圖片文件。
數(shù)據(jù)的準(zhǔn)備至關(guān)重要,他決定了我們能否無bug的運行我們的腳本,得到我們的結(jié)果與圖形。
示例數(shù)據(jù)即inputfile(部分)中列名表示每個樣本,行名表示每個基因,大家可以參照下文準(zhǔn)備數(shù)據(jù)。
對于有重復(fù)樣本的數(shù)據(jù)而言,需要準(zhǔn)備相應(yīng)的分組數(shù)據(jù)即plot_group_file。
分組數(shù)據(jù)的第一列為源數(shù)據(jù)中樣本的名稱,第二列為圖中需要展示的數(shù)據(jù)名稱,第三列為標(biāo)簽文本框的顏色,第四列為每個樣本點的形狀,第五列為每個樣本點的顏色。你可以選擇第二到第五列任意一列的特征來體現(xiàn)你的分組情況。示例的分組數(shù)據(jù)(部分)如下文。
第三,需要對數(shù)據(jù)進行處理
第四步,從參數(shù)文件中讀取相應(yīng)的參數(shù)
為了在不改動源碼的情況下對腳本進行操作,本作者將腳本中所需要的參數(shù)以文件的形式保存和讀取。
針對本文的數(shù)據(jù),相應(yīng)的參數(shù)文件即plot_args_file設(shè)置為
第五步,設(shè)置圖片保存的樣式
第六步,對數(shù)據(jù)轉(zhuǎn)置后進行PCA分析
PCA的結(jié)果保存在pca_summary這個對象中,這個對象包含PCA分析的所有結(jié)果。但是常規(guī)生信分析僅需要使用三個維度的數(shù)據(jù)即可,因此本文僅需要保存PC1、PC2、PC3這三者的數(shù)據(jù)。
第七步,保存PCA分析的結(jié)果,這里保存的是前三個維度成分的數(shù)據(jù)
其中write.table函數(shù)所輸出的outputfile_detail文件即PCA分析的結(jié)果文件。
第八步,以分組文件為材料,添加樣本的屬性。
對于PCA分析之后樣本排名錯位的情況,通過下列函數(shù)對樣本逐一添加設(shè)置好的新名、標(biāo)簽框填充顏色、點的樣式、點的顏色。
具體的實現(xiàn)原則就是逐一遍歷生成PCA數(shù)據(jù)的樣品名,再逐一遍歷我們的分組數(shù)據(jù),如果名稱一樣,則將相應(yīng)的分組數(shù)據(jù)重新排序,最后再合并成數(shù)據(jù)框。
第九步,繪制PCA分析結(jié)果(二維圖形式)
這里會調(diào)用到一個重要的包ggrepel的geom_label_repel函數(shù),可以整理并擺放好標(biāo)簽,對于PCA結(jié)果可視化(尤其是多樣本的情形下)的呈現(xiàn)至關(guān)重要。
第十步,最終,通過上述操作,即可以生成下面的圖形
如果對于生成的圖片不滿意,還可以通過改變上文中plot_args_file的參數(shù)對圖片進行調(diào)整。

三 慣例小結(jié)
本公眾號開發(fā)的相關(guān)軟件,Multi-omics Hammer軟件和Multi-omics Visual軟件歡迎大家使用。文末是本公眾號在其他平臺的賬戶,也歡迎大家關(guān)注并多提意見。
簡書:WJ的生信小院
博客園:生信小院
最后,也歡迎各位大佬能夠在本平臺上:1傳播和講解自己發(fā)表的論文;2:發(fā)表對某一科研領(lǐng)域的看法;3:想要達成的合作或者相應(yīng)的招聘信息;4:展示自己以尋找博后工作或者博士就讀的機會;5:博導(dǎo)提供博后工作或者博士攻讀機會,都可以后臺給筆者留言。希望本平臺在進行生信知識分享的同時,能夠成為生信分析者的交流平臺,能夠?qū)崿F(xiàn)相應(yīng)的利益互補和雙贏(不一定能實現(xiàn),但是夢想總得是有的吧)。


