ggstatsplot绘图|统计+可视化,学术科研神器
本文首发于“生信补给站”公众号,https://mp.weixin.qq.com/s/zdSit97SOEpbnR18ARzixw
更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号。
ggstatsplot是ggplot2包的扩展包,可以同时输出美观的图片和统计分析结果,对于经常做统计分析或者生信人来说非常有用。
一 准备数据
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)
# plot
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
◆ ◆ ◆ ◆ ◆
R|生存分析(1):生存分析介绍以及绘制KM曲线
Nomogram(诺莫图) | Logistic、Cox生存分析结果可视化
maftools | 从头开始绘制发表级oncoplot(瀑布图)
ggalluvial|炫酷桑基图(Sankey),你也可以秀
【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】
ggstatsplot绘图|统计+可视化,学术科研神器的更多相关文章
- Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识
第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...
- python金融与量化分析------Matplotlib(绘图和可视化)
-----------------------------------------------------------Matplotlib:绘图和可视化------------------------ ...
- Python之绘图和可视化
Python之绘图和可视化 1. 启用matplotlib 最常用的Pylab模式的IPython(IPython --pylab) 2. matplotlib的图像都位于Figure对象中. 可以使 ...
- Matplotlib:绘图和可视化
Matplotlib:绘图和可视化 简介 简单绘制线形图 plot函数 支持图类型 保存图表 一 .简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分 ...
- Python绘图与可视化
Python有很多可视化工具,本篇只介绍Matplotlib. Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在Python脚本.IPython的交互环境下.Web应用 ...
- R语言 ETL+统计+可视化
这篇文章...还是看文章吧 导入QQ群信息,进行ETL,将其规范化 计算哪些QQ发言较多 计算一天中哪些时段发言较多 计算统计内所有天的日发言量 setwd("C:/Users/liyi/D ...
- 《利用python进行数据分析》读书笔记--第八章 绘图和可视化
http://www.cnblogs.com/batteryhp/p/5025772.html python有许多可视化工具,本书主要讲解matplotlib.matplotlib是用于创建出版质量图 ...
- JFreeChart与AJAX+JSON+ECharts两种处理方式生成热词统计可视化图表
本篇的思想:对HDFS获取的数据进行两种不同的可视化图表处理方式.第一种JFreeChar可视化处理生成图片文件查看.第二种AJAX+JSON+ECharts实现可视化图表,并呈现于浏览器上. 对 ...
- matlab绘图与可视化
1.设置图形对象属性值 set(h,'属性名称','属性值') >> subplot(,,); h1=line([ ],[ ]); text(,0.5,'unchange'); subpl ...
随机推荐
- 微信小程序中scoll-view的一个小坑
在微信小程序开发中,有时候swiper-view会出现显示不全的问题,我们可以用scoll-view来把它包裹下,但是要用scoll-view就一定要设置height,而我们经常是在页面中加的这个组件 ...
- PHPSTORM 2019 激活
1.获取激活码 请自行百度 2.输入激活码 3.配置本地hosts 添加配置如下 0.0.0.0 account.jetbrains.com 0.0.0.0 www.jetbrains.com
- 高通电源管理qpnp-vm-bms驱动
1. compatible节点: qpnp-vm-bms.c使用来控制电池曲线的和BMS功能的,其compatible节点是"qcom,qpnp-vm-bms" 2. probe函 ...
- Redis数据库之编程项目及练习资源
实训项目 : NOSQL数据库设计与应用实训 注释: Redis数据库编程项目示例及练习资源 项目源码获取: https://pan.baidu.com/s/19f0F7cmx ...
- 调试 内存查看StringCchCopy的运行前后
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int _tmain(int argc, _T ...
- Mybatis的xml文件对大于号小于号的特殊处理!
当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序 ...
- python import cv2异常(dll load fail / windows server 2008)
最近服务器迁移,从得win7系统迁移到云服务器器上的windows server2008系统,迁移过程中安装Python的opencv一直出错,不管是用whl安装或者是在线pip安装都报错,尝试打包成 ...
- Spark 学习笔记之 优雅地关闭Spark Streaming
优雅地关闭Spark Streaming: 当touch stop文件后,程序仍然会再执行一次,执行完成后退出.
- Spring MVC拦截器学习
1 介绍 Spring Web MVC是基于Servlet API构建的原始Web框架. 2 拦截器 2.1 定义 springmvc框架的一种拦截机制 2.2 使用 2.2.1 两步走 实现Hand ...
- 你也可以写聊天程序 - C# Socket学习1
简述 我们做软件工作的虽然每天都离不开网络,可网络协议细节却不是每个人都会接触和深入了解.我今天就来和大家一起学习下Socket,并写一个简单的聊天程序. 一些基础类 首先我们每天打开浏览器访问网页信 ...