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

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

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

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

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

## ggbetweenstats绘图

#### 显示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
)```

#### 2 添加统计值

```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

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里还涉及到资源的名称，而针对资源的...

• ### 实测！微信刚推出的「小店」小程序，我们用 10 分钟就完成了申请（附攻略）

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

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

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

• ### JAVA程序员面试总结，高手整理加强版

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

• ### JAVA程序员面试总结，整理加强版

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

• ### 利用Charles开发调试技巧总结

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

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

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