最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

你不知道的PCA及在R中的實(shí)現(xiàn)

2023-01-18 10:57 作者:小云愛生信  | 我要投稿

爾云間? 一個(gè)專門做科研的團(tuán)隊(duì)

原創(chuàng)?小果?生信果

(Principal Component Analysis )是一種數(shù)據(jù)降維的分析方式,它可以將復(fù)雜的數(shù)據(jù)通過數(shù)學(xué)運(yùn)算變得更加簡單。比如,在四維空間中我們要考量時(shí)間的影響,正如螞蟻不懂生活在三維世界的我們,更高維度的世界已經(jīng)超越了我們的認(rèn)知。你在實(shí)驗(yàn)過程中,一定也遇到過類似情況,面對復(fù)雜的數(shù)據(jù)無從下手,今天小云會帶大家運(yùn)用全新的思維解決你在實(shí)驗(yàn)過程中遇到的困擾,下面讓我們看看吧。

在收集大量數(shù)據(jù)后,你是不是也面臨著找不到頭緒的情況。在實(shí)驗(yàn)設(shè)計(jì)愈發(fā)多樣化的今天,多樣化的大數(shù)據(jù)無疑會為研究和開發(fā)提供更加豐富多彩的信息,但是也在一定程度上增加了數(shù)據(jù)分析的難度。更重要的是在很多條件下,許多變量之間可能存在相關(guān)性,這也為數(shù)據(jù)分析帶來不小的挑戰(zhàn)。


如果對每個(gè)指標(biāo)進(jìn)行分析,分析往往是孤立的,不能完全利用數(shù)據(jù)間的相關(guān)性,因而盲目減少指標(biāo)會損失很多有用的信息,從而產(chǎn)生錯(cuò)誤的結(jié)論。那么如何在不影響結(jié)果的情況下,簡化分析并做出更加正確的判斷,正是小云要給大家分享的。

比如我們測了200個(gè)單細(xì)胞的數(shù)據(jù),通過基因表達(dá)水平的差異將這200個(gè)樣品進(jìn)行分類,我們需要考慮這些樣品間每個(gè)基因存在的調(diào)控、拮抗或者協(xié)同等關(guān)系,還要考慮一些外界因素的干擾,比如一些housekeeping genes在每個(gè)樣品中都有一致的表達(dá)情況,那么考慮它們對于解釋樣本差異的作用將毫無意義,所以我們可以通過去掉對結(jié)果沒有影響的基因來達(dá)到簡化運(yùn)算的目的。


醫(yī)學(xué)領(lǐng)域中,我們也經(jīng)常用PCA圖來進(jìn)行疾病危險(xiǎn)因素分析,腸道菌群聚類分析,推斷腫瘤亞群之間的進(jìn)化關(guān)系,還用它來觀察樣本的分組、趨勢、剔除異常數(shù)據(jù),找到數(shù)據(jù)中的隱藏模式,找到相關(guān)變量。


R語言中可以進(jìn)行PCA分析的主要有rda()、prcomp()、princomp() 、PCA() 、dudi.pca() ?、epPCA()?等包;對于分析結(jié)果可視化,factoextra包封裝了包括分析結(jié)果提取和基于ggplot2的數(shù)據(jù)可視化的函數(shù)。


理論知識我們都知道了,那么在R中如何實(shí)現(xiàn)PCA的分析呢,如果我們考慮2個(gè)基因,可以用以下代碼實(shí)現(xiàn)。

代碼如下:

count <- 100
Gene2_a <- rnorm(count,5,0.2)
Gene2_b <- rnorm(count,5,0.2)
cy_data2 <- data.frame(Gene1 = c(Gene1_a, Gene1_b), Gene2 = c(Gene2_a, Gene2_b),
?????????????????????? Group=c(grp_a, grp_b))
cy_data2 <- as.data.frame(cy_data2)
row.names(cy_data2) <- label
kable(headTail(cy_data2), booktabs=T,
????? caption="Expression profile for Gene1 and Gene2 in 100 samples")
ggplot(cy_data2,aes(Gene1, Gene2))+geom_point(aes(color=factor(Group)))+
? theme(legend.position=c(0.5,0.9)) + theme(legend.title=element_blank()) +
? ylim(0,10) + xlim(0,25)



從上圖可以看出,200 個(gè)樣品根據(jù) Gene1 和 Gene2 的表達(dá)量的不同在坐標(biāo)軸上被被分為了 2 類,在這個(gè)例子中,我們可以很容易的看出 Gene1 對樣品分類的貢獻(xiàn)要比 Gene2 大,因?yàn)?Gene1 在樣品間的表達(dá)差異大。

假如我們有 1 個(gè)基因,可以在線性層面對樣本進(jìn)行分類;如果我們有 2 個(gè)基因,可以在一個(gè)平面對樣本進(jìn)行分類;如果我們有 3 個(gè)基因,可以在一個(gè)立體空間對樣本進(jìn)行分類;


如果有更多的基因,比如說 n個(gè),那么每個(gè)樣品就是 n 維空間的一個(gè)點(diǎn),則很難在圖形上展示樣品的分類關(guān)系。


利用 PCA 分析,我們可以選取貢獻(xiàn)最大的 2 個(gè)或 3 個(gè)主成分作為數(shù)據(jù)代表用以可視化。這比直接選取三個(gè)表達(dá)變化最大的基因更能反映樣品之間的差異。(利用 Pearson 相關(guān)系數(shù)對樣品進(jìn)行聚類在樣品數(shù)目比較少時(shí)是一個(gè)解決辦法)。

好了,今天的分享就到這里了,歡迎各位小伙伴留言討論哦。


推薦閱讀


你不知道的PCA及在R中的實(shí)現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
乡城县| 玉屏| 宁安市| 永顺县| 肥乡县| 永川市| 尉氏县| 富平县| 讷河市| 大名县| 榆社县| 舒兰市| 望谟县| 陈巴尔虎旗| 高台县| 壤塘县| 纳雍县| 千阳县| 朝阳县| 永顺县| 名山县| 大兴区| 崇仁县| 黎川县| 百色市| 宜宾县| 垣曲县| 阿图什市| 应城市| 秀山| 调兵山市| 乌拉特前旗| 河西区| 和平区| 长葛市| 金山区| 石首市| 安泽县| 华亭县| 高清| 司法|