您的位置:首頁>科技>正文

R語言視覺化學習筆記之基因組資料視覺化

感謝關注天善智慧, 走好資料之路↑↑↑

歡迎關注天善智慧, 我們是專注于商業智慧BI, 大資料, 資料分析領域的垂直社區, 學習, 問答、求職一站式搞定!

本文主要利用ggpubr包來探索基因組資料,主要是視覺化TCGA基因組資料的基因表達譜。

library(ggpubr)#載入包

TCGA是一個包含大量癌症資料的資料庫, 由Marcin Kosinski創建的RTCGA包可以讓我們很方便的獲取這些資料。 主要有三個包:RTCGA、RTCGA.clininal、RTCGA.mRNA。 安裝方法如下:

#Load the bioconductor installersourcelibrary(RTCGA)

RTCGA包裡的函數expressionTCGA()可以十分方便地從不同資料集中提取基因的表達值, 下面我們將從三個資料集BRCA(乳腺癌)、OV(卵巢癌)、LUSC(肺癌)中提取五個基因的表達值。

library(RTCGA)

查看每個資料集中的樣品數量

nb_samples

為了方便, 我們將部分資料集名稱簡化

expr$dataset

接下來繪製圖形:

1、箱線圖

library(ggpubr)

我們可以一次性繪製多個基因, 然後一一查看, 而不用每次寫代碼:

#Creat a list of plots

p$PTEN

p$XBP1

p$ESR1

p$MUC1

當一次性繪製多個基因時,xlab,ylab,title也可以是一個跟y等長的向量。 接下來就是添加p-value以及顯著性了

my_comparisons

也可以查看每個類型中每一個基因的比較:

compare_means(c(GATA3, PTEN, XBP1)~dataset, data = expr)

可以通過select以及remove來決定比較那幾個類型,比如這裡我們只比較BRCA和OV

ggboxplot(expr, x="dataset", y="GATA3", title = "GATA3", ylab = "Expression",

ggboxplot(expr, x="dataset", y="GATA3", title = "GATA3", ylab = "Expression",

通過order來改變各類型在x軸上的順序

ggboxplot(expr, x="dataset", y="GATA3", title = "GATA3", ylab = "Expression",

通過rotate=TRUE來變換坐標軸

ggboxplot(expr, x="dataset", y="GATA3", title = "GATA3", ylab = "Expression",

通過combine=TRUE來進行分面(類似於facet)

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), ylab = "Expression",

通過merge=TRUE或者merge=“axis”將三個類型的plot繪製在一個panel中

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), ylab = "Expression",

通過merge=flip利用不同癌症類型進行group

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"),

通過add=jitter增加抖動點

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

通過add=dotplot增加dotplot

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"),

很多時候我們很像知道箱線圖兩端的資料,我們可以通過label來進行展示

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

2、小提琴圖

ggviolin(expr,x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

通過修改add來更改添加小提琴圖裡的圖形

ggviolin(expr,x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

add有好多選項可以選擇:“mean”, “mean_se”, “mean_sd”, “mean_ci”, “mean_range”, “median”, “median_iqr”, “median_mad”, “median_range”.有興趣的可以自己試試。

3、帶狀圖

ggstripchart(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

4、dotplot

ggdotplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

5、密度圖

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..density..",

將dataset映射給顏色

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..density..", combine = TRUE,

將三幅圖整合進一個panel中,並對y軸進行..count..,而不是..density..

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..count..", xlab = "Expression",

## ## $PTEN

## ## $XBP1

顏色映射,將x軸變數映射給顏色

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..count..", color = ".x.",

按dataset進行分面

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..count..", color = ".x.",

6、長條圖

gghistogram(expr, x=c("GATA3", "PTEN", "XBP1"), y="..density..",

## ## $PTEN

## ## $XBP1

將dataset映射給顏色

gghistogram(expr, x=c("GATA3", "PTEN", "XBP1"), y="..density..", xlab = "Expression",

## ## $PTEN

## ## $XBP1

後面還有一些將幾幅圖整合在一個panel以及分面等大同小異就不講了。

7、Q-Q圖

ggqqplot(expr, x=c("GATA3", "PTEN", "XBP1"), combine = TRUE, size = 0.5)

顏色映射

ggqqplot(expr, x=c("GATA3", "PTEN", "XBP1"), combine = TRUE, size = 0.5,

天善學院svip正火爆報名中!包含Excel BI、Python3爬蟲案例、Python機器學習、Python資料科學家、大資料體系、資料分析報告、資料分析師體系、深度學習、R語言案例共10套課程,其他課程只需五折即可,歡迎大家關注報名。

本文作者:taoyan 摘自:EasyCharts

p$MUC1

當一次性繪製多個基因時,xlab,ylab,title也可以是一個跟y等長的向量。 接下來就是添加p-value以及顯著性了

my_comparisons

也可以查看每個類型中每一個基因的比較:

compare_means(c(GATA3, PTEN, XBP1)~dataset, data = expr)

可以通過select以及remove來決定比較那幾個類型,比如這裡我們只比較BRCA和OV

ggboxplot(expr, x="dataset", y="GATA3", title = "GATA3", ylab = "Expression",

ggboxplot(expr, x="dataset", y="GATA3", title = "GATA3", ylab = "Expression",

通過order來改變各類型在x軸上的順序

ggboxplot(expr, x="dataset", y="GATA3", title = "GATA3", ylab = "Expression",

通過rotate=TRUE來變換坐標軸

ggboxplot(expr, x="dataset", y="GATA3", title = "GATA3", ylab = "Expression",

通過combine=TRUE來進行分面(類似於facet)

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), ylab = "Expression",

通過merge=TRUE或者merge=“axis”將三個類型的plot繪製在一個panel中

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), ylab = "Expression",

通過merge=flip利用不同癌症類型進行group

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"),

通過add=jitter增加抖動點

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

通過add=dotplot增加dotplot

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"),

很多時候我們很像知道箱線圖兩端的資料,我們可以通過label來進行展示

ggboxplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

2、小提琴圖

ggviolin(expr,x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

通過修改add來更改添加小提琴圖裡的圖形

ggviolin(expr,x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

add有好多選項可以選擇:“mean”, “mean_se”, “mean_sd”, “mean_ci”, “mean_range”, “median”, “median_iqr”, “median_mad”, “median_range”.有興趣的可以自己試試。

3、帶狀圖

ggstripchart(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

4、dotplot

ggdotplot(expr, x="dataset", y=c("GATA3", "PTEN", "XBP1"), combine = TRUE,

5、密度圖

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..density..",

將dataset映射給顏色

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..density..", combine = TRUE,

將三幅圖整合進一個panel中,並對y軸進行..count..,而不是..density..

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..count..", xlab = "Expression",

## ## $PTEN

## ## $XBP1

顏色映射,將x軸變數映射給顏色

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..count..", color = ".x.",

按dataset進行分面

ggdensity(expr, x=c("GATA3", "PTEN", "XBP1"), y="..count..", color = ".x.",

6、長條圖

gghistogram(expr, x=c("GATA3", "PTEN", "XBP1"), y="..density..",

## ## $PTEN

## ## $XBP1

將dataset映射給顏色

gghistogram(expr, x=c("GATA3", "PTEN", "XBP1"), y="..density..", xlab = "Expression",

## ## $PTEN

## ## $XBP1

後面還有一些將幾幅圖整合在一個panel以及分面等大同小異就不講了。

7、Q-Q圖

ggqqplot(expr, x=c("GATA3", "PTEN", "XBP1"), combine = TRUE, size = 0.5)

顏色映射

ggqqplot(expr, x=c("GATA3", "PTEN", "XBP1"), combine = TRUE, size = 0.5,

天善學院svip正火爆報名中!包含Excel BI、Python3爬蟲案例、Python機器學習、Python資料科學家、大資料體系、資料分析報告、資料分析師體系、深度學習、R語言案例共10套課程,其他課程只需五折即可,歡迎大家關注報名。

本文作者:taoyan 摘自:EasyCharts

Next Article
喜欢就按个赞吧!!!
点击关闭提示