美文网首页RLinux
ggsignif的用法

ggsignif的用法

作者: 单细胞空间交响乐 | 来源:发表于2019-10-06 22:51 被阅读0次

其实这个包的用法主要是用来丰富ggplot2画图的更多美化,如果两个分组之间存在显著性不同,这个包提供一个简单的方式去标示。
比如我们想要如下的效果图:


图片.png

图上标注了每个组之间的p值,感觉很不错。这样的话我们如何实现呢?我们可以借助ggsignif包来实现它。

首先我们安装一下ggsignif包

install.packages("ggsignif")或者
devtools::install_github("const-ae/ggsignif")这个很简单

其次我们了解一下其统计方法和参数

统计方法

一般根据数据是否符合正态分布,选择合适的统计方法:

统计方法 适用情况
t.test() 比较两组(参数)
wilcox.test() 比较两组(非参数)
aov()或anova() 比较多组(参数)
kruskal.test() 比较多组(非参数)

参数

ggsignif包主要函数为:geom_signif()和stat_signif(),常用geom_signif()。
常用参数如下:

参数 说明示范
comparisons list,设置需要比较的组,比如list(c("a","b"),c("a","c"))
test 上述统计方法,比如t.test()
test.args test传入的参数
map_signif_level 布尔值,p值直接被当作注释或者以星号替代,比如c(""=0.001,""=0.01,""=0.05)
annotations 带有可选注释的字符向量,如果没有则被忽略
step_increase 不同组差异标注的间隔

测试

接下来我们来测试一下

1. 测试数据集test

image

test数据集两列,一列是基因表达量,一列是分组。

image

2. 差异分析分组

compaired <- list(c("a", "b"),c("a","c"),c("a","d"))

3. 画图

ggplot(test,aes(group,exp,fill=group))+geom_boxplot(width=0.5)+theme(plot.title=element_text(size = 25),axis.text.x=element_text(size=15,angle=0),axis.text.y=element_text(size=15),axis.title.x=element_text(size = 23),axis.title.y=element_text(size = 23))+labs(x='Gene', y= 'Expression')+geom_signif(comparisons = compaired,step_increase = 0.1,map_signif_level = F,test = t.test)

image
这里我们重点关注一下geom_signif(comparisons = compaired,step_increase = 0.1,map_signif_level = F,test = t.test)的用法
其实是在原有ggplot画图的基础上,添加了这一行语句,comparisons的设置可以根据自己感兴趣的对比组进行设置,map_signif_level则表示是否将p值直接当成注释,这个参数大家可以换一下看看效果。

我们再来一个例子

数据集是


图片.png

接下来我们来画图

library("ggsignif")
# geom_signif()
# compare_means(value ~ group, data = exprSet_L,method="wilcox.test", paired=FALSE)

my_comparisons <- list(c("T1","T2"), c("T1","T3"),c("T1", "T4"))
ggplot(exprSet_L,aes(group,value,fill=group))+
  geom_boxplot(width=0.5)+
  theme(plot.title=element_text(size = 25),axis.text.x=element_text(size=25,angle=0),axis.text.y=element_text(size=25),axis.title.x=element_text(size = 25),axis.title.y=element_text(size = 25))+
  labs(x=gene_name, y= 'Expression')+
  geom_signif(comparisons = my_comparisons,step_increase = 0.1,map_signif_level = F,test = t.test,size=2,textsize = 6)
# theme_set(theme_set(theme_bw(base_size=22)))
 # wilcox.test

  # geom_signif(mapping = NULL, data = NULL, stat = "signif",
  #             position = "identity", na.rm = FALSE, show.legend = NA,
  #             inherit.aes = TRUE, comparisons = NULL, test = "wilcox.test",
  #             test.args = NULL, annotations = NULL, map_signif_level = FALSE,
  #             y_position = NULL, xmin = NULL, xmax = NULL, margin_top = 0.05,
  #             step_increase = 0, tip_length = 0.03, size = 0.5, textsize = 3.88,
  #             family = "", vjust = 0, ...)
图片.png
是不是觉得这样的图瞬间高大上了一点呢?
其实还有很多新奇的画法,大家不妨尝试一下。

相关文章

  • ggsignif的用法

    其实这个包的用法主要是用来丰富ggplot2画图的更多美化,如果两个分组之间存在显著性不同,这个包提供一个简单的方...

  • 2019-07-19用ggsignif包添加显著性标注

    原文见https://github.com/const-ae/ggsignif 不同的组的数据图,各种统计分析后有...

  • 【R绘图】ggsignif-假设检验

    ggsignif - 安装 geom_signif - 常用参数 以鸢尾花数据集为例 1、传递参数给所使用的统计检...

  • ggsignif 程序包帮助文档翻译

    ggsignif 程序包帮助文档翻译 翻译者 三根钉子 联系方式 liumg15@lzu.edu.cn 类型 程...

  • R绘制组间差异显著性图

    ggsignif包提供了一个单层geom_signif,可以计算组之间差异的显着性,并将注释添加到单行中

  • R绘图_ggsignif添加显著性标识

    R绘图做生物学显著性统计,然后添加显著性标记,但是都是手动,比较繁琐,好在ggplot2有个扩展包ggsignif...

  • ES-6--数据结构

    Set的用法,WeakSet的用法,Map的用法,WeakMap的用法 Set()基本用法 Set的add,del...

  • MyBatis XML使用方式

    内容: select用法 insert用法 update用法 delete用法 多个接口参数的用法 动态代理实现原...

  • icon 用法

    icon 的5种用法 icon有5种常用的用法: img 用法 background 用法 background ...

  • 基础函数代码范例

    if-else 的用法 switch-case 的用法 while 的用法 do-while 的用法 for 遍历...

网友评论

    本文标题:ggsignif的用法

    本文链接:https://www.haomeiwen.com/subject/agdppctx.html