专栏首页庄闪闪的R语言手册ggstatsplot包: 一行代码搞定作图问题!

ggstatsplot包: 一行代码搞定作图问题!

简介

觉得基础作图的 R 代码太啰嗦,不成体系(R基础作图合集)?觉得 ggplot2 还是太复杂了不适合自己(ggplot2合集)?那有没有更简单点的?比如说,最好是躺着就能出图的那种。

今天小编就来介绍一个 R 包,名字叫ggstatsplot[1]

1. R包的安装和载入

install.packages("ggstatsplot")
install.packages("rstantools")   # 使用到里面的函数
install.packages("afex")         # 使用到里面的函数
library(ggstatsplot)             # 只需载入一个包

R 包 get!接下来会一一介绍里面包含的几个主要函数。

2. ggbetweenstats(): 多组间的均数比较

首先以多组间的均数比较为例,从而验证是否真的可以一行代码作图。

接下来会用到R中自带的iris数据集,新来的小伙伴可以使用?iris或者使用F1键了解(如何使用R语言自带的帮助功能?)。

可以看庄小编的Rstudio快捷键帮助文档:Rstudio常用快捷键以及窗口操作有用技巧Rstudio界面介绍(上)Rstudio界面介绍(下)

ggbetweenstats(data = iris, x = Species, y = Sepal.Length)

真是太牛了!只打了一行代码,你却给我这么多!太不公平了!不过!上面图片里信息太多了,它们到底分别代表什么意思?请看下图:

总而言之,图片上面的部分代表传统的统计学方法(Frequentist)的一些统计值,下面的部分代表贝叶斯(Bayesian)的一些统计值。

:文章末尾会介绍如何简化图片的输出信息,比如去掉贝叶斯的内容。现在继续了解其他函数。

3. ggwithinstats():重复测量

一个组别如果分别在多个时间点被采集数据,这种情况就归属于重复测量设计,就不能采用上述的多组间均数比较了,因为已经违反了独立性的原则。在这种情况下,可以这么作图:

ggwithinstats(data = iris, x = Species, y = Sepal.Length)

需要注意的是,为了演示,小编还是使用iris的数据集,而在重复测量的数据里,x轴通常指的是不同的时间。上图中的红色线条即为了注明它们之间是配对的。

4. ggscatterstats():散点图

在研究两个连续变量的时候,散点图可以呈现两者间的关系。下面也是一行搞定:

ggscatterstats(data = iris, x = Sepal.Length, y = Sepal.Width)

除了显示散点图,还分别画出了两个变量各自的直方图从而可以观察它们的分布情况,非常的实用!

5. gghistostats():直方图

如果有一个连续变量,想要观察它的分布情况,以及通过单样本t检验[R语言统计篇-单样本t检验]去比较是否与一个特定的值有差异,那么可以这么做:

gghistostats(data = iris, x = Sepal.Length, test.value = 6)   

6. ggcorrmat():多个变量的相关图

要一下子呈现多个连续变量的关系,可以选择相关矩阵[R语言画展ggplot2篇-相关矩阵图]。下方也是使用 iris 数据集,首先需将 Species 这个变量先剔除,然后作图:

ggcorrmat(data = iris[, -5])

也是非常的实用,尤其在探索性分析阶段。默认使用 Pesrson 相关分析(参数性检验),上述中含有 X 的方框,表示没有统计学意义。

7. ggpiestats():饼图

如果有两个分类变量,想要通过卡方检验进行率的比较,那可以采用饼图的形式作图。使用到mtcars数据集:

ggpiestats(data = mtcars, x = am, y = vs)

8. ggbarstats():呈现分类变量的柱状图

除了使用上面的饼图,还可以使用柱状图:

ggbarstats(data = mtcars, x = am, y = vs)

9. ggcoefstats():将回归系数作图

比如,建立了一个线性回归模型,现在想要将自变量的回归系数进行作图,那可以这么做:

mymodel <- lm(mpg ~ cyl + disp + hp, data = mtcars)ggcoefstats(mymodel)     # 将回归系数作图

10. 一行代码搞定一切?天下没有这么容易的事情!

虽然说梦想是一行代码搞定一切,但现实中是不可能的!下面举一个例子,如何进一步调整输出的图片从而满足自己的需求。

以第4部分的散点图为例:

比如,研究中没有用到贝叶斯,所以想要将图片下方的一串统计值删除,并且觉得Sepal.Length这个变量并不符合正态分布,所以选择Spearman相关(默认是Pearson相关),那么可以这么做:

ggscatterstats(data = iris, x = Sepal.Length, y = Sepal.Width,               bf.message = FALSE,      # 去除贝叶斯相关的统计值               type = "nonparamatric")  # 选择非参数检验

这里只是举了一个小例子,这个包还可以对很多参数进行修饰,由于篇幅有限,无法一一介绍。感兴趣的朋友可以查阅下方的参考文献。

  • An Introductory Tutorial[2]

这篇给出了大量的例子,并且可交互动画演示的。非常值得学习!

参考资料

[1]

ggstatsplot: https://github.com/IndrajeetPatil/ggstatsplot

[2]

An Introductory Tutorial: https://indrajeetpatil.github.io/ggstatsplot_slides/slides/ggstatsplot_presentation.html

推荐: 可以保存以下照片,在b站扫该二维码,或者b站搜索【庄闪闪】观看Rmarkdown系列的视频教程。Rmarkdown视频新增两节视频(写轮眼幻灯片制作)需要视频内的文档,可在公众号回复【rmarkdown

本文分享自微信公众号 - 庄闪闪的R语言手册(Zss_R4ds)

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

原始发表时间:2021-06-06

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 各种IE(IE6-IE10)兼容问题一行代码搞定

    沈唁
  • 一行代码搞定WordPress面包屑导航breadcrumb

      有好几位网友在问WordPress面包屑导航breadcrumb怎么操作,网上有些教程是去function文件中定义,其实不用那么复杂,很简单一行代码就能搞...

    ytkah
  • ggstatsplot包能用来干什么

    微点
  • 统计绘图 | 既能统计分析又能可视化绘制的技能

    在典型的探索性数据分析工作流程中,数据可视化和统计建模是两个不同的阶段,而我们也希望能够在最终的可视化结果中将相关统计指标呈现出来,如何让将两种有效结合,使得数...

    DataCharm
  • ggstatsplot-专为学术绘图而生(一)

    参考资料:[官方文档]https://indrajeetpatil.github.io/ggstatsplot_slides/slides/ggstatsplo...

    百味科研芝士
  • ggstatsplot绘图|统计+可视化,学术科研神器

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

    西游东行
  • 羡慕高分文章美图?这26款好看的可视化R包助你一臂之力

    本文将简要盘点R中常用的可视化包,并通过简要介绍包的特点来帮助读者深入理解可视化包。

    生信交流平台
  • 史上最贴心R包安装示范视频

    1990年,伊丽莎白·牛顿在斯坦福大学通过研究一个简单的游戏获得了心理学博士学位。在这个游戏中,她把参与者分为两种角色:“敲击者”和“听众”。敲击者拿到一张25...

    生信技能树
  • 一行代码快速图像识别~一排代码搞定视频识别

    一行代码能干嘛?这种噱头式的开头现在估计已经不香了。。。我只能在别人挖好的土堆上再刨一铲子。

    一个有趣的灵魂W
  • 一行代码搞定图片缩放、旋转、加水印

    概述 Thumbnailator 是一个开源的 Java 项目,它提供了非常简单的 API 来对图片进行缩放、旋转以及加水印的处理。 有多简单呢?简单到一行代码...

    静默虚空
  • 一行命令搞定图像质量评价 | 附代码和操作步骤

    在交流群里,经常有人问到图像质量评价的问题。比如对监控摄像头拍摄的多幅图像,挑选一幅图像显示给用户,或者选择一幅图丢给识别模型,又或者在互联网应用里,对于用户上...

    AI算法与图像处理
  • pandas100个骚操作:一行 pandas 代码搞定 Excel “条件格式”!

    本篇是pandas100个骚操作系列的第 7 篇:一行 pandas 代码搞定 Excel “条件格式”!

    Python数据科学
  • 不改一行代码定位线上性能问题

    最近时运不佳,几乎天天被线上问题骚扰。前几天刚解决了一个 HashSet 的并发问题,周六又来了一个性能问题。

    java架构师
  • R|散点图+边际图(柱形图,小提琴图),颜值区UP

    散点图作为一种展示2组连续变量关系的常用可视化方式之一,添加点,线,箭头,线段,注释,甚至函数,公式,方差表都没有问题。

    西游东行
  • 乳腺癌的IHC分类和PAM50分型的差异情况

    拿到超级VIP入场券的学徒,就可以无限制参与全部生信技能树举办的线下课程,包括LINUX,R,GEO和TCGA数据挖掘,各种NGS线下大课,所以如果你想参加3个...

    生信技能树
  • 一行代码简单搞定matplotlib柱状图显示数据标签

    在用matplotlib绘制柱状图的时候,往往需要将数据显示在柱状图上,今天我们就简单介绍一下。

    可以叫我才哥
  • 字符串:这道题目,使用库函数一行代码搞定

    编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

    代码随想录
  • ggplot2绘图需要学多少个扩展包(这188个图给你答案)

    有一些不食人间烟火的评论,说这样的包对大家的技术进步并没有如何作用,仅仅是傻瓜式修改代码。它们也不过是另外一种封装,并不能有助于用户对ggplot2语法的理解。

    生信技能树
  • 整理了一些自己可能会用到的R包

    用户7010445

扫码关注云+社区

领取腾讯云代金券