专栏首页生信补给站ggstatsplot绘图|统计+可视化,学术科研神器

ggstatsplot绘图|统计+可视化,学术科研神器

ggstatsplotggplot2包的扩展包,可以同时输出美观的图片和统计分析结果,对于经常做统计分析或者生信人来说非常有用。

数据准备

gapminder 数据集包含1952到2007年间(5年间隔)的142个国家的life expectancy, GDP per capita, 和 population信息。

#载入绘图R包
library(ggstatsplot)
#载入gapminder 数据集
library(gapminder)
head(gapminder)

ggstatsplot-R包含有很多绘图函数(文末会给出),本文仅展示ggbetweenstats函数使用方法。

ggbetweenstats绘图

1 基本绘图展示

显示2007年每个continent的预期寿命分布情况,并统计一下不同大陆之间平均预期寿命的是否有差异?差异是否显著?

#设置种子方便复现
set.seed(123)
# Oceania数据太少,去掉后分析
ggstatsplot::ggbetweenstats(
  data = dplyr::filter(
    .data = gapminder::gapminder,
    year == 2007, continent != "Oceania"
  ),
  x = continent,
  y = lifeExp,
  nboot = 10,
  messages = FALSE
)

可以看到图中展示出了2007年每个continent的预期寿命分布的箱线图,点图和小提琴图,均值,样本数;并且图形最上方给出了模型的一些统计量信息(整体)。

统计信息意义如下图所示(官网):

注:该函数根据分组变量中的个数自动决定是选择独立样本t检验(2组)还是单因素方差分析(3组或更多组)

2 添加统计值

上方给出了整体的检验P值,下面进行两两之间比较,并添加检验统计量

set.seed(123)
ggstatsplot::ggbetweenstats(
  data = dplyr::filter(
    .data = gapminder::gapminder,year == 2007, continent != "Oceania"),
  x = continent,y = lifeExp,
  nboot = 10,
  messages = FALSE,
  effsize.type = "unbiased", # type of effect size (unbiased = omega)
  partial = FALSE, # partial omega or omega?
  pairwise.comparisons = TRUE, # display results from pairwise comparisons
  pairwise.display = "significant", # display only significant pairwise comparisons
  pairwise.annotation = "p.value", # annotate the pairwise comparisons using p-values
  p.adjust.method = "fdr", # adjust p-values for multiple tests using this method
)

3 图形美化

#添加标题和说明,x轴和y轴标签,标记,离群值,更改主题以及调色板。

set.seed(123)
gapminder %>% # dataframe to use
  ggstatsplot::ggbetweenstats(
    data = dplyr::filter(.data = ., year == 2007, continent != "Oceania"),
    x = continent, # grouping/independent variable
    y = lifeExp, # dependent variables
    xlab = "Continent", # label for the x-axis
    ylab = "Life expectancy", # label for the y-axis
    plot.type = "boxviolin", # type of plot ,"box", "violin", or "boxviolin"
    type = "parametric", # type of statistical test , p (parametric), np ( nonparametric), r(robust), bf (Bayes Factor).
    effsize.type = "biased", # type of effect size
    nboot = 10, # number of bootstrap samples used
    bf.message = TRUE, # display bayes factor in favor of null hypothesis
    outlier.tagging = TRUE, # whether outliers should be flagged
    outlier.coef = 1.5, # coefficient for Tukey's rule
    outlier.label = country, # label to attach to outlier values
    outlier.label.color = "red", # outlier point label color
    mean.plotting = TRUE, # whether the mean is to be displayed
    mean.color = "darkblue", # color for mean
    messages = FALSE, # turn off messages
    ggtheme = ggplot2::theme_gray(), # a different theme
    package = "yarrr", # package from which color palette is to be taken
    palette = "info2", # choosing a different color palette
    title = "Comparison of life expectancy across continents (Year: 2007)",
    caption = "Source: Gapminder Foundation"
  ) + # modifying the plot further
  ggplot2::scale_y_continuous(
    limits = c(35, 85),
    breaks = seq(from = 35, to = 85, by = 5)
  )

其他绘图函数

Function

Plot

Description

ggbetweenstats

violin plots

for comparisons between groups/conditions

ggwithinstats

violin plots

for comparisons within groups/conditions

gghistostats

histograms

for distribution about numeric variable

ggdotplotstats

dot plots/charts

for distribution about labeled numeric variable

ggpiestats

pie charts

for categorical data

ggbarstats

bar charts

for categorical data

ggscatterstats

scatterplots

for correlations between two variables

ggcorrmat

correlation matrices

for correlations between multiple variables

ggcoefstats

dot-and-whisker plots

for regression models

更多请参照官方文档

https://indrajeetpatil.github.io/ggstatsplot/index.html

本文分享自微信公众号 - 生信补给站(Bioinfo_R_Python),作者:生信补给站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R|机器学习入门-多元线性回归(3)

    回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。本文简单的介绍一下多元线性回归。

    西游东行
  • R|生存分析 - KM曲线 ,必须拥有姓名和颜值

    生存分析作为分析疾病/癌症预后的出镜频率超高的分析手段,而其结果展示的KM曲线也必须拥有姓名和颜值!

    西游东行
  • barplot3d|圣诞节送你一个mutation signature搭建的“乐高”

    上次通过deconstructSigs|探寻cosmic的独特“气质”-mutation signature !学会了如何利用deconstructSigs-R...

    西游东行
  • 使用ASP.NET Core 3.x 构建 RESTful API - 3.1 资源命名

    之前讲了RESTful API的统一资源接口这个约束,里面提到了资源是通过URI来进行识别的,每个资源都有自己的URI。URI里还涉及到资源的名称,而针对资源的...

    solenovex
  • 实测!微信刚推出的「小店」小程序,我们用 10 分钟就完成了申请(附攻略)

    只要你有一个认证的公众号,就可在公众号后台申请小店小程序。原有微信小店功能的公众号,可直接升级,不需要再重复申请。

    知晓君
  • 让早期肺癌不再难发现 “腾讯觅影” 在延安这家医院启动应用

    12月14日,腾讯人工智能(AI)医疗影像"腾讯觅影"在延安大学附属医院全面启动应用,通过"腾讯觅影"辅助医生开展智能辅助筛查,将有效提高医生的诊断效率和精度,...

    企鹅号小编
  • JAVA程序员面试总结,高手整理加强版

    第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的...

    Spark学习技巧
  • JAVA程序员面试总结,整理加强版

    我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企...

    java架构师
  • 利用Charles开发调试技巧总结

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    csxiaoyao
  • 微信公众平台开放JS-SDK(微信内网页开发工具包)

    微信公众平台开放JS-SDK(微信内网页开发工具包),这次开放接口是质的飞跃,是对开发者和广大用户一个利好的消息。未来的公众号图文消息会更丰富多彩,准备脑洞大开...

    ytkah

扫码关注云+社区

领取腾讯云代金券