成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

r語(yǔ)言go數(shù)據(jù)包,go語(yǔ)言 包

【R語(yǔ)言】解決GO富集分析繪圖,標(biāo)簽重疊問(wèn)題

前面我給大家詳細(xì)介紹過(guò)

作為一家“創(chuàng)意+整合+營(yíng)銷(xiāo)”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶口碑。創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、創(chuàng)意表現(xiàn)、網(wǎng)頁(yè)制作、系統(tǒng)開(kāi)發(fā)以及后續(xù)網(wǎng)站營(yíng)銷(xiāo)運(yùn)營(yíng)等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營(yíng)模式與有效的網(wǎng)絡(luò)營(yíng)銷(xiāo)方法,創(chuàng)造更大的價(jià)值。

?GO簡(jiǎn)介及GO富集結(jié)果解讀

?四種GO富集柱形圖、氣泡圖解讀

?GO富集分析四種風(fēng)格展示結(jié)果—柱形圖,氣泡圖

?KEGG富集分析—柱形圖,氣泡圖,通路圖

? DAVID GO和KEGG富集分析及結(jié)果可視化

也用視頻給大家介紹過(guò)

? GO和KEGG富集分析視頻講解

最近有粉絲反映說(shuō),利用clusterProfiler這個(gè)包繪制GO富集分析氣泡圖和柱形圖的時(shí)候,發(fā)現(xiàn)GO條目的名字都重疊在一起了。

氣泡圖

柱形圖

這個(gè)圖別說(shuō)美觀了,簡(jiǎn)直不忍直視。經(jīng)過(guò)我的認(rèn)真研究,發(fā)現(xiàn)跟R版本有關(guān)。前面我給大家展示的基本都是R 3.6.3做出來(lái)的圖。很多粉絲可能用的都是最新版本的R 4.1.2。

我們知道R的版本在不停的更新,相應(yīng)的R包也在不停的更新。我把繪制氣泡圖和柱形圖相關(guān)的函數(shù)拿出來(lái)認(rèn)真的研究了一下,終于發(fā)現(xiàn)的癥結(jié)所在。

dotplot這個(gè)函數(shù),多了個(gè) label_format 參數(shù)

我們來(lái)看看這個(gè)參數(shù)究竟是干什么用的,看看參數(shù)說(shuō)明

label_format :

a numeric value sets wrap length, alternatively a custom function to format axis labels. by default wraps names longer that 30 characters

原來(lái)這個(gè)參數(shù)默認(rèn)值是30,當(dāng)標(biāo)簽的長(zhǎng)度大于30個(gè)字符就會(huì)被折疊,用多行來(lái)展示。既然問(wèn)題找到了,我們就來(lái)調(diào)節(jié)一下這個(gè)參數(shù),把他設(shè)置成100,讓我們的標(biāo)簽可以一行展示。

是不是還是原來(lái)的配方,還是熟悉的味道

同樣的柱形圖,我們也能讓他恢復(fù)原來(lái)的容貌。

關(guān)于如何使用R做GO和KEGG富集分析,可參考下文

GO和KEGG富集分析視頻講解

R語(yǔ)言:clusterProfiler進(jìn)行GO富集分析和Gene_ID轉(zhuǎn)換

ID轉(zhuǎn)換用到的是 bitr() 函數(shù),bitr()的使用方法:

org.Hs.eg.db包含有多種gene_name的類(lèi)型

keytypes() :keytypes(x),查看注釋包中可以使用的類(lèi)型

columns() :類(lèi)似于keytypes(),針對(duì)org.Hs.eg.db兩個(gè)函數(shù)返回值一致

select() :select(x, keys, columns, keytype, ...) eg.

函數(shù)enrichGO()進(jìn)行GO富集分析,enrichGO()的使用方法:

舉例:

r語(yǔ)言ggbio包使用方法

第一步:獲取要繪圖的整潔數(shù)據(jù)(涉及到數(shù)據(jù)整潔和操作的知識(shí))

第二步:整潔數(shù)據(jù)做映射操作,確定x,y,color,size,shape,alpha等

第三步:選擇合適的幾何對(duì)象(根據(jù)畫(huà)圖的目的、變量的類(lèi)型和個(gè)數(shù))

第四步:坐標(biāo)系和刻度配置

第五步:標(biāo)簽信息和圖例信息

第六步:選擇合適的主題

ggplot2的語(yǔ)法包括10個(gè)部件。

數(shù)據(jù)(data)

映射(mapping)

幾何對(duì)象(geom)

標(biāo)度(scale)

統(tǒng)計(jì)變換(stats)

坐標(biāo)系(coord)

位置調(diào)整(Position adjustments)

分面(facet)

主題(theme)

輸出(output)

前3個(gè)是必須的,其它部件ggplot2會(huì)自動(dòng)配置,也可以手動(dòng)配置

ggplot2基本繪圖模板:

注意:

1)添加圖層的加號(hào)(+)只能放在行末尾

2)紅色方框里面mapping是全局域,綠色方框里面mapping是局部域,執(zhí)行先后順序,先局部域,后全局域

ggplot2畫(huà)圖必要部件-數(shù)據(jù),映射和幾何對(duì)象

2.1 數(shù)據(jù)

數(shù)據(jù)(Data)用于畫(huà)圖的整潔數(shù)據(jù)

library(tidyverse

ggplot()先只提供數(shù)據(jù),創(chuàng)建一個(gè)空?qǐng)D形。

# ggplot()先提供整潔數(shù)據(jù),生成一個(gè)空?qǐng)D形

2映射

映射,把數(shù)據(jù)變量集與圖形屬性庫(kù)建立關(guān)聯(lián)。

最常用的映射有:

x:x軸

y:y軸

color:顏色

size:大小

shape:形狀

fill:填充

alpha:透明度

以mpg數(shù)據(jù)集為例,把變量displ和hwy分別映射到x和y,變量drv映射到color,此時(shí)圖形就有了坐標(biāo)軸和網(wǎng)格線,color需要在有了幾何對(duì)象后才能體現(xiàn)出來(lái)。

# 映射操作

ggplot(data = mpg, mapping = aes(x = displ,

y = hwy, color = drv))

2.3 幾何對(duì)象

幾何對(duì)象是表達(dá)數(shù)據(jù)的視覺(jué)對(duì)象

不同類(lèi)型的幾何對(duì)象是從不同的角度表達(dá)數(shù)據(jù)。

pgglot2提供了50多種“幾何對(duì)象”,均以geom_xxxx()的方式命名,常用的有:

幾何對(duì)象很簡(jiǎn)單,只需要添加圖層即可。

例如,以mpg數(shù)據(jù)集為例,畫(huà)散點(diǎn)圖。

ggplot(data = mpg, mapping = aes(x = displ,

y = hwy,

color = drv)) +

geom_point()層依次疊加,在上圖的基礎(chǔ)上,再添加一個(gè)幾何對(duì)象:光滑曲線。

#繼續(xù)增加一個(gè)幾何對(duì)象:光滑曲線

# 寫(xiě)法1

ggplot(data = mpg, mapping = aes(x = displ,

y = hwy,

color = drv)) +

geom_point() +

geom_smooth(se=FALSE)

# 寫(xiě)法2

ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) +

geom_point(aes(color = drv)) +

geom_smooth(se=FALSE)

思考題:

1)寫(xiě)法1和寫(xiě)法2的差異?(全局域和局部域的使用差異)

2)寫(xiě)法2若是要實(shí)現(xiàn)寫(xiě)法1的功能,怎么編寫(xiě)代碼?

03

標(biāo)度

ggplot2會(huì)自動(dòng)根據(jù)輸入變量選擇最優(yōu)的坐標(biāo)刻度方法,若要手動(dòng)設(shè)置或調(diào)整,就需要使用標(biāo)度函數(shù)。

標(biāo)度函數(shù)用來(lái)控制幾何對(duì)象中的標(biāo)度映射(x軸,y軸或者由color,fill,shape,size產(chǎn)生的圖例)。

ggplot2提供豐富的標(biāo)度函數(shù),常用的有:

拓展功能:scales包提供很多設(shè)置刻度標(biāo)簽風(fēng)格的函數(shù),比如百分?jǐn)?shù)、科學(xué)計(jì)數(shù)法法、美元格式等。

3.1 修改坐標(biāo)軸刻度及標(biāo)簽

連續(xù)變量使用scale_*_continuous()函數(shù),參數(shù)breaks設(shè)置各個(gè)刻度的位置,參數(shù)labels設(shè)置各個(gè)刻度對(duì)應(yīng)的標(biāo)簽。

離散變量使用scale_*_discrete()函數(shù),修改離散變量坐標(biāo)軸的標(biāo)簽。

時(shí)間變量使用scale_x_date()函數(shù)設(shè)置日期刻度,參數(shù)date_breaks設(shè)置刻度間隔,date_labels設(shè)置標(biāo)簽的日期格式

以mpg數(shù)據(jù)集為例,修改連續(xù)變量坐標(biāo)軸刻度及標(biāo)簽。

# scale_y_continuous函數(shù)

# 對(duì)比分析和觀察

# 圖1

ggplot(mpg, aes(displ, hwy)) +

geom_point()

# 圖2

ggplot(mpg, aes(displ, hwy)) +

geom_point() +

scale_y_continuous(breaks = seq(15, 40, by = 10))

# 圖3

ggplot(mpg, aes(displ, hwy)) +

geom_point() +

scale_y_continuous(breaks = seq(15, 40, by = 10),

labels = c(" 一五 "," 二五 "," 三五 "))

以mpg數(shù)據(jù)集為例,修改離散變量的標(biāo)簽

# scale_x_discrete函數(shù)

# 對(duì)比分析和觀察

# 圖1

ggplot(mpg, aes(x = drv)) +

geom_bar()

# 圖2

ggplot(mpg, aes(x = drv)) +

geom_bar() +

scale_x_discrete(labels = c("4" = " 四驅(qū) ", "f" = " 前驅(qū) ",

"r" = " 后驅(qū) "))

以ggplot2自帶的economics數(shù)據(jù)集為例,修改日期變量。

# scale_x_date函數(shù)

# 以ggplot2自帶的economics為例

economics %% glimpse()

# 圖1

ggplot(tail(economics, 45), aes(date, uempmed / 100)) +

geom_line()

# 圖2

ggplot(tail(economics, 45), aes(date, uempmed / 100)) +

geom_line() +

scale_x_date(date_breaks = "6 months", date_labels = "%Y-%b") +

scale_y_continuous(labels = scales::percent)

3.2 修改坐標(biāo)軸標(biāo)簽、圖例名及圖例位置

用labs()函數(shù)參數(shù)x,y或者xlab(),ylab(),設(shè)置x軸,y軸標(biāo)簽。

若用參數(shù)color生成了圖例,可以在labs()函數(shù)用參數(shù)color修改圖例名。

用theme圖層的參數(shù)legend.position設(shè)置圖例的位置。

以mpg數(shù)據(jù)為例。

# 修改坐標(biāo)軸標(biāo)簽,圖例名和圖例位置

mpg

# 圖1

ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = drv)) +

labs(x = " 引擎大小 (L)", y = " 高速燃油率 (mpg)",

color = " 驅(qū)動(dòng)類(lèi)型 ") +

theme(legend.position = "top")

# 圖2

ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = drv)) +

xlab(" 引擎大小 (L)") +

ylab(" 高速燃油率 (mpg)") +

labs(color = " 驅(qū)動(dòng)類(lèi)型 ") +

theme(legend.position = "top")

# 圖3 不需要圖例

ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = drv)) +

xlab(" 引擎大小 (L)") +

ylab(" 高速燃油率 (mpg)") +

theme(legend.position = "none")

3.3 設(shè)置坐標(biāo)軸的范圍

用coord_cartesian()函數(shù)參數(shù)xlim和ylim,或者用xlim(),ylim()設(shè)置x軸和y軸的范圍。

以mpg數(shù)據(jù)集為例。

# 修改坐標(biāo)軸的范圍

# 圖1 coord_cartesian()的參數(shù)xlim和ylim

ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = drv)) +

coord_cartesian(xlim = c(5, 7), ylim = c(10, 30))

# 圖2 xlim()和ylim()函數(shù)

ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = drv)) +

xlim(5, 7) +

ylim(10, 30)

3.4 變換坐標(biāo)軸

用scale_x_log10()函數(shù)變換坐標(biāo)系,可以保持原始數(shù)據(jù)的坐標(biāo)刻度。

# 修改坐標(biāo)軸的范圍

# 圖1 coord_cartesian()的參數(shù)xlim和ylim

ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = drv)) +

coord_cartesian(xlim = c(5, 7), ylim = c(10, 30))

# 圖2 xlim()和ylim()函數(shù)

ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = drv)) +

xlim(5, 7) +

ylim(10, 30)

3.5 設(shè)置圖形標(biāo)題

用labs()函數(shù)設(shè)置圖形標(biāo)題。

參數(shù)title 設(shè)置正標(biāo)題

參數(shù)subtitle 設(shè)置副標(biāo)題

參數(shù)caption 設(shè)置腳注標(biāo)題(默認(rèn)右下角)

# 設(shè)置標(biāo)題

# mpg數(shù)據(jù)集為例

p - ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = drv)) +

geom_smooth(se = FALSE) +

labs(title = " 燃油效率與引擎大小的關(guān)系圖 ",

subtitle = " 兩座車(chē) ( 跑車(chē) ) 因重量小而符合預(yù)期 ",

caption = " 數(shù)據(jù)來(lái)自 fueleconomy.gov")

p

標(biāo)題若要居中,采用theme圖層設(shè)置。

p + theme(plot.title = element_text(hjust = 0.5),

plot.subtitle = element_text(hjust = 0.5))

3.6 設(shè)置color、fill顏色

數(shù)據(jù)的某個(gè)維度信息可以通過(guò)顏色來(lái)表示。

可以直接使用顏色值,建議使用RColorBrewer(調(diào)色板)或者colorspace包。

1)連續(xù)變量

- 用scale_color_gradient()設(shè)置二色漸變色。

# 連續(xù)變量

# 圖1 scale_color_gradient()函數(shù)

ggplot(mpg, aes(displ, hwy, color = hwy)) +

geom_point() +

scale_color_gradient(low = "green", high = "red")

- 用scale_color_distiller()設(shè)置調(diào)色板中的顏色

# 圖2 scale_color_distiller()函數(shù)

ggplot(mpg, aes(displ, hwy, color = hwy)) +

geom_point() +

scale_color_distiller(palette = "Set1")

2)離散變量

- 用scale_color_manual()手動(dòng)設(shè)置顏色,還可以修改圖例及其標(biāo)簽信息

# 離散變量

# 圖1 scale_color_manual()函數(shù)

ggplot(mpg, aes(displ, hwy, color = drv)) +

geom_point() +

scale_color_manual(" 驅(qū)動(dòng)方式 ",

values = c("red", "blue", "green"),

breaks = c("4", "f", "r"))

ggplot(mpg, aes(displ, hwy, color = drv)) +

geom_point() +

scale_color_manual(" 驅(qū)動(dòng)方式 ",

values = c("red", "blue", "green"),

labels = c(" 四驅(qū) ", " 前驅(qū) ", " 后驅(qū) "))

-用scale_fill_brewer()調(diào)用調(diào)色板中的顏色

# 圖2 scale_fill_brewer()函數(shù)

ggplot(mpg, aes(x = class, fill = class)) +

geom_bar() +

scale_fill_brewer(palette = "Dark2")

.7 添加文字標(biāo)注

ggrepel包提供了geom_label_repel()函數(shù)或者geom_text_repel()函數(shù),為圖形添加文字標(biāo)注。

操作步驟:

第一步:先準(zhǔn)備好標(biāo)記點(diǎn)的數(shù)據(jù)

第二步:增加文字標(biāo)注圖層,包括標(biāo)記點(diǎn)的數(shù)據(jù)和標(biāo)注的文字給label參數(shù)

# 設(shè)置文字標(biāo)注信息

library(ggrepel)

# 選取每種車(chē)型 hwy 值最大的樣本

best_in_class - mpg %%

group_by(class) %%

slice_max(hwy, n = 1)

best_in_class %% select(class, model, hwy)

ggplot(mpg, aes(displ, hwy)) +

geom_point(aes(color = class)) +

geom_label_repel(data = best_in_class,

aes(label = model))

04

計(jì)變換、坐標(biāo)系和位置調(diào)整

.1 統(tǒng)計(jì)變換

統(tǒng)計(jì)變換是構(gòu)建新的統(tǒng)計(jì)量而畫(huà)圖。

例如,條形圖或直方圖,是對(duì)數(shù)據(jù)分組的頻數(shù)做畫(huà)圖;平滑曲線是對(duì)數(shù)據(jù)擬合模型的預(yù)測(cè)值畫(huà)圖。

gplot2可以把統(tǒng)計(jì)變換直接融入畫(huà)圖中,不必先在對(duì)數(shù)據(jù)做統(tǒng)計(jì)變換后再畫(huà)圖。

gplot2提供30多種統(tǒng)計(jì),均以stats_xxx()的方式命名。

1)可在幾何對(duì)象中直接使用的統(tǒng)計(jì)變換,直接使用幾何對(duì)象就可以了。

能在幾何對(duì)象創(chuàng)建的,而需要單獨(dú)使用。

mpg數(shù)據(jù)集為例。

stat_summary()做統(tǒng)計(jì)繪圖并匯總。

# 圖1 stat_summary()做統(tǒng)計(jì)繪圖并匯總

p - ggplot(mpg, aes(x = class, y = hwy)) +

geom_violin(trim = FALSE, alpha = 0.5, color = "green")

p

p + stat_summary(fun = mean,

fun.min = function (x) {mean(x) - sd(x)},

fun.max = function (x) {mean(x) + sd(x)},

geom = "pointrange",

color = "red")

tat_smooth()添加光滑曲線,與geom_smooth()相同。

參數(shù)method設(shè)置平滑曲線的擬合方法,如lm線性回歸、glm廣義線性回歸、loess多項(xiàng)式回歸、gam廣義加法模型(mgcv包)、rlm穩(wěn)健回歸(MASS包)等。

參數(shù)formula指定平滑曲線方程,如y ~ x, y ~ poly(x, 2), y ~ log(x)等。

參數(shù)se設(shè)置是否繪制置信區(qū)間。

# 圖2 stat_smooth()添加平滑曲線

ggplot(mpg, aes(displ, hwy)) +

geom_point() +

stat_smooth(method = "lm",

formula = y ~ splines::bs(x, 3),

se = FALSE)

ggplot(mpg, aes(displ, hwy)) +

geom_point() +

geom_smooth(method = "lm",

formula = y ~ splines::bs(x, 3),

se = FALSE)

4.2 坐標(biāo)系

ggplot2默認(rèn)是直角坐標(biāo)系。

- coord_cartesian()

常用的其它坐標(biāo)系:

以mpg數(shù)據(jù)集為例,坐標(biāo)軸翻轉(zhuǎn)。

# 圖1 坐標(biāo)軸翻轉(zhuǎn)coord_flip()

p - ggplot(mpg, aes(class, hwy)) +

geom_boxplot()

p

p + coord_flip()

直角坐標(biāo)下條形圖轉(zhuǎn)換為極坐標(biāo)下玫瑰圖。

# 圖2 直角坐標(biāo)條形圖--極坐標(biāo)玫瑰圖

p - ggplot(mpg, aes(class, fill = drv)) +

geom_bar()

p

p + coord_polar()

4.3 位置調(diào)整

條形圖的位置調(diào)整

# 圖1:條形圖條形位置調(diào)整

ggplot(mpg, aes(class, fill = drv)) +

geom_bar()

ggplot(mpg, aes(class, fill = drv)) +

geom_bar(position = "dodge")

ggplot(mpg, aes(class, fill = drv)) +

geom_bar(position = position_dodge(preserve = "single"))

散點(diǎn)圖的散點(diǎn)位置調(diào)整

# 圖1:散點(diǎn)圖的散點(diǎn)位置調(diào)整

ggplot(mpg, aes(displ, hwy)) +

geom_point()

ggplot(mpg, aes(displ, hwy)) +

geom_point(position = "jitter")

用patchwork包排布多個(gè)圖形

library(patchwork)

p1 - ggplot(mpg, aes(displ, hwy)) +

geom_point()

p2 - ggplot(mpg, aes(drv, displ)) +

geom_boxplot()

p3 - ggplot(mpg, aes(drv)) +

geom_bar()

p1 | (p2 / p3)

p1 | p2 | p3

p1 / p2 / p3

p1 / (p2 | p3)

05

分面

利用分類(lèi)變量把圖形分成若干“子圖”(面),實(shí)際上就是對(duì)數(shù)據(jù)分組后再畫(huà)圖,屬于數(shù)據(jù)分析里面細(xì)分和下鉆的思想。

5.1 用facet_wrap()函數(shù)

封裝分面,先生成一維的面板系列,再封裝到二維中。

語(yǔ)法形式:~ 分類(lèi)變量 或者 ~ 分類(lèi)變量1 + 分類(lèi)變量2

參數(shù)scales設(shè)置是否共用坐標(biāo)刻度,fixed 默認(rèn) 共用, free 不共用,還可以額通過(guò)free_x,free_y單獨(dú)設(shè)置。

[R語(yǔ)言] GO富集分析可視化 GOplot::GOCircle

查看GOplot內(nèi)示例數(shù)據(jù)的格式,對(duì)自己的數(shù)據(jù)做處理

觀察結(jié)論:

觀察自己的兩個(gè)數(shù)據(jù)表:

table.legend 設(shè)置為T(mén)時(shí)會(huì)顯示表格

本圖中表格和圖例是出圖后剪切拼合而成,沒(méi)有用R中的拼圖包

分享題目:r語(yǔ)言go數(shù)據(jù)包,go語(yǔ)言 包
鏈接地址:http://jinyejixie.com/article46/hsishg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站微信公眾號(hào)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)網(wǎng)站營(yíng)銷(xiāo)、軟件開(kāi)發(fā)企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
汝南县| 彩票| 社旗县| 柯坪县| 东至县| 宜君县| 濮阳县| 临潭县| 凤城市| 宁德市| 华安县| 泗洪县| 宜阳县| 云浮市| 彰化市| 云浮市| 湘潭市| 吉林市| 东乡县| 天台县| 武强县| 双峰县| 连江县| 岳普湖县| 桐乡市| 白玉县| 庆云县| 屏边| 平舆县| 荣昌县| 珲春市| 梧州市| 新疆| 肥西县| 阿克陶县| 渑池县| 阳信县| 石城县| 蒙阴县| 井冈山市| 荥阳市|