重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

如果用R语言作go分析图 r语言做go富集

R语言:clusterProfiler进行GO富集分析和Gene_ID转换

ID转换用到的是 bitr() 函数,bitr()的使用方法:

创新互联公司是专业的福安网站建设公司,福安接单;提供网站建设、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行福安网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

org.Hs.eg.db包含有多种gene_name的类型

keytypes() :keytypes(x),查看注释包中可以使用的类型

columns() :类似于keytypes(),针对org.Hs.eg.db两个函数返回值一致

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

函数enrichGO()进行GO富集分析,enrichGO()的使用方法:

举例:

如何用R语言画图

q1, 首先要确定是barplot还是hist,如果是barplot的话,应该不存在breaks的问题,因为barplot的传入参数是个矩阵;

我假设你要画的是个hist,我偶遇过这个问题,我的理解是hist的breaks的值要能被范围整除才行;比如x=1:200,break=7的话,就只能画出4个柱来,但如果breaks=10就没问题;基本上是这样的,偶尔也有例外;比如break=5就不行....奇怪得很

最后,没办法的办法,就只能用barplot代替hist了,barplot肯定不会有这个问题,统计下hist参数中的分布情况,转换成矩阵,用barplot吧;

q2, 貌似一般都用一组因素把这些类别区分开,我用abcde,表示你的小学,中学...了,比如这样:

a=1:7;b=8:10;c=c(9,10,11);d=c(40,55);e=100:110f=factor(c(rep(1,sum(length(a),length(b),length(c))),rep(2,sum(length(d),length(e)))))#先用c()生成数组,在转换成factor,其实数组也ok的,不过plot()中两个数组和factor不一样 x=c(a,b,c,d,e)plot(x~f)q3, 就我所知不行;yes或no一定也要是能映射到x,y范围内的点才行;你是想表示分类结果吗?如果是的话,通常用颜色,或者在点旁边的text表示。

q4, 举个例子吧

x=-50:50y=x^2+x+1z=10*abs(x)+1 plot(x,y,type='l')lines(x,z,lty=3)legend(c('type1','type2'), x=-20,y=2500, col=c('black','red'), lty=c(1,3))legend的x和y是legend的左上角,匿名参数是类型名称,col,lty,pch 是对应的颜色,线类型,和点类型。

最后,我现在多用ggplot2,如果不抵触的话可以看看,和R的基础作图包思路不是很一样,但是图很清新的;

如果还有问题,建议把数据集data.frame粘贴几行上来,我也试试;

生存分析R语言绘图——ggsuvplot介绍及实例

ggsurvplot(

fit, #生存分析结果

data = NULL, # a dataset used to fit survival curves

fun = NULL, # 定义生存曲线转换的任意函数。 经常使用的转换可以用字符参数指定:“event”绘制累积事件(f(y) = 1-y),“cumhaz”绘制累积风险函数(f(y) = -log(y)),“pct”以百分比表示生存概率。

color = NULL, #曲线颜色

palette = NULL, #颜色调色板,可选调色板有 "grey","npg","aaas","lancet","jco", "ucscgb","uchicago","simpsons"和"rickandmorty".

linetype = 1, #线条形状,可以用数值型向量1,2表示,也可以用字符串向量c("solid", "dashed").

conf.int = FALSE, #是否画出置信区间

pval = FALSE, #是否显示P值

pval.method = FALSE, #是否添加计算P值得方法得文本,前提是pval = TRUE

test.for.trend = FALSE, #默认是F,如果TURE,返回trend Pvalues检验。 趋势检验旨在检测生存曲线的有序差异。 也就是说,至少对一个群体来说。 只有组数为 2时,才能进行趋势测试。

surv.median.line = "none", #画一条水平或者垂直得生存中位值线,允许的值有c("none", "hv", "h", "v"). v: 垂直vertical, h:水平horizontal.

risk.table = FALSE, #是否显示风险table。其他值有absolute" or "percentage",显示绝对数值/百分比;参数"abs_pct" ,百分比以及绝对数值都显示

cumevents = FALSE, # logical value specifying whether to show or not the table of the cumulative number of events.

cumcensor = FALSE, #logical value specifying whether to show or not the table of the cumulative number of censoring.

tables.height = 0.25, #设置table得高度,取值范围0-1

group.by = NULL, #包含分组变量名称得字符串向量。长度=2

facet.by = NULL, #一个字符向量,包含将生存曲线分成多个面板的分组变量的名称。

add.all = FALSE, #一个逻辑值。 如果为TRUE,则在主图中添加合并患者(null model)的生存曲线。

combine = FALSE, # a logical value. If TRUE, combine a list survfit objects on the same plot.

ggtheme = theme_survminer(), #主题名称

tables.theme = ggtheme, #主题名称,默认是theme_survminer.

... #后面描述的参数和其他参数将被传递给ggplot2 geom_*()函数,如linetype, size, ii)或ggpar()函数来定制图形。 看到的细节部分

)

[R语言] GO富集分析可视化 GOplot::GOCircle

查看GOplot内示例数据的格式,对自己的数据做处理

观察结论:

观察自己的两个数据表:

table.legend 设置为T时会显示表格

本图中表格和图例是出图后剪切拼合而成,没有用R中的拼图包

R语言可视化之ggplot2——KEGG通路富集分析

之前分享了如何用ggplot2可视化GO分析的结果。既然做了GO,当然少不了KEGG了。

同样的,我们从 DAVID 获取KEGG pathway的结果。

对于KEGG,我比较喜欢做气泡图,这样用两种形式的图结合在一起,效果更丰富更好看一点。

【R语言】解决GO富集分析绘图,标签重叠问题

前面我给大家详细介绍过

☞GO简介及GO富集结果解读

☞四种GO富集柱形图、气泡图解读

☞GO富集分析四种风格展示结果—柱形图,气泡图

☞KEGG富集分析—柱形图,气泡图,通路图

☞ DAVID GO和KEGG富集分析及结果可视化

也用视频给大家介绍过

☞ GO和KEGG富集分析视频讲解

最近有粉丝反映说,利用clusterProfiler这个包绘制GO富集分析气泡图和柱形图的时候,发现GO条目的名字都重叠在一起了。

气泡图

柱形图

这个图别说美观了,简直不忍直视。经过我的认真研究,发现跟R版本有关。前面我给大家展示的基本都是R 3.6.3做出来的图。很多粉丝可能用的都是最新版本的R 4.1.2。

我们知道R的版本在不停的更新,相应的R包也在不停的更新。我把绘制气泡图和柱形图相关的函数拿出来认真的研究了一下,终于发现的症结所在。

dotplot这个函数,多了个 label_format 参数

我们来看看这个参数究竟是干什么用的,看看参数说明

label_format :

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

原来这个参数默认值是30,当标签的长度大于30个字符就会被折叠,用多行来展示。既然问题找到了,我们就来调节一下这个参数,把他设置成100,让我们的标签可以一行展示。

是不是还是原来的配方,还是熟悉的味道

同样的柱形图,我们也能让他恢复原来的容貌。

关于如何使用R做GO和KEGG富集分析,可参考下文

GO和KEGG富集分析视频讲解


网站名称:如果用R语言作go分析图 r语言做go富集
文章源于:http://cqcxhl.cn/article/dodsjse.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP