云雨图R 语言
什么是云雨图
不管它叫啥,就是一种对数据的可视化方法,可同时描述数据的概率密度和统计量。
为什么使用云雨图
当我们获得几组数据的时候,想看一看他们的统计量,在R中可以使用命令:summary() ,会将五分位数和均值等输出到 「Console」。但是相比于文字,一般人对图像的理解要更好,所以可以使用**箱线图(BoxPlot)**展示其统计量(下左),这时就会出现一个问题,(下左)几个箱线图似乎都一样,难道意味着这些组数据都一样?当我们把原始数据点添加上去(下右),就会发现数据之间的不同:数据的分布密度是不一样的。
这个时候就可以使用「 小提琴图(ViolinPlot)」描述数据的分布密度:
这时,有人就把这些东西都集合到了一起:云雨图(RainCloud Plot),一半儿的小提琴 箱线图 数据点
例子 R
需要的「R Packages」:ggdist、 tidyquant、 tidyverse
需要的「数据集」:mpg
(源自ggplot2)
- 加载需要的工具和数据:
# LIBRARIES ----
library(ggdist)
library(tidyquant)
library(tidyverse)
# DATA -----
mpg
- 筛选数据,并新建一个「ggplot2」的画布(Canvas)
mpg %>%
filter(cyl %in% c(4, 6, 8)) %>%
ggplot(aes(x = factor(cyl), y = hwy, fill = factor(cyl)))
- 画上一半儿的小提琴:
ggdist::stat_halfeye()
# add half-violin from {ggdist} package
ggdist::stat_halfeye(
## custom bandwidth
adjust = 0.5,
## move geom to the right
justification = -.2,
## remove slab interval
.width = 0,
point_colour = NA
)
- 加上箱线图:
ggplot2::geom_boxplot()
,限制宽度和不透明度
geom_boxplot(
width = .12,
## remove outliers
outlier.color = NA,
alpha = 0.5
)
- 添加原始数据点:
ggdist::stat_dots()
# Add dot plots from {ggdist} package
ggdist::stat_dots(
## orientation to the left
side = "left",
## move geom to the left
justification = 1.1,
## adjust grouping (binning) of observations
binwidth = .25
)
6.「微 」调细节:tidyquant::theme_tq() coord_flip()
scale_fill_tq()
theme_tq()
labs(
title = "Raincloud Plot",
subtitle = "Showing the Bi-Modal Distribution of 6 Cylinder Vehicles",
x = "Engine Size (No. of Cylinders)",
y = "Highway Fuel Economy (MPG)",
fill = "Cylinders"
)
coord_flip()
完整代码「R」
# LIBRARIES ----
library(ggdist)
library(tidyquant)
library(tidyverse)
# DATA -----
mpg
# RAINCLOUD PLOTS ----
# Powerful for visualizing modality of distributions
mpg %>%
filter(cyl %in% c(4, 6, 8)) %>%
ggplot(aes(x = factor(cyl), y = hwy, fill = factor(cyl)))
# add half-violin from {ggdist} package
ggdist::stat_halfeye(
## custom bandwidth
adjust = 0.5,
## move geom to the right
justification = -.2,
## remove slab interval
.width = 0,
point_colour = NA
)
geom_boxplot(
width = .12,
## remove outliers
outlier.color = NA,
alpha = 0.5
)
# Add dot plots from {ggdist} package
ggdist::stat_dots(
## orientation to the left
side = "left",
## move geom to the left
justification = 1.1,
## adjust grouping (binning) of observations
binwidth = .25
)
# Adjust theme
scale_fill_tq()
theme_tq()
labs(
title = "Raincloud Plot",
subtitle = "Showing the Bi-Modal Distribution of 6 Cylinder Vehicles",
x = "Engine Size (No. of Cylinders)",
y = "Highway Fuel Economy (MPG)",
fill = "Cylinders"
)
coord_flip()
欢迎关注:猪猪的乌托邦
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfikcjh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13