密度估计太难理解!?快来看看这个工具可视化工具包~~

文摘   教育   2024-11-13 11:36   江苏  

点击上方“DataCharm”,选择“星标公众号

今天继续给大家介绍一个偏学术科研的统计可视化R包-ggdensity,这个工具在做一些和密度估计可视化结果展示的时候非常有用呢,下面小编就给大家简单介绍一下 ggdensity工具~~

前言

我们的数据可视化课程已经上线啦!!目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。课程免费新增,这点绝对良心!

我们第一个数据可视化交流圈子也已经上线了,主要以我的第一本书籍《科研论文配图绘制指南-基于Python/R语言》为基础进行拓展,提供「课堂式」教学视频,还有更多拓展内容,可视化技巧远超书籍本身,书籍修正和新增都会分享到圈子里面~~

参与课程或者圈子的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。

ggdensity简介

  • 安装 我们可以通过如下语句安装和调用该工具:
install.packages("ggdensity")
#或者如下
if (!requireNamespace("remotes")) install.packages("remotes")
remotes::install_github("jamesotto852/ggdensity")
# 调用
library("ggdensity")

基本用法

ggdensity完美兼容了ggplot2的绘图语法,其常见绘图函数更是集成了多个核密度计算方法,下面就分别列举几个常用函数和对应可视化绘制结果。

  • geom_density_2d_filled()和geom_hdr()

使用ggplot2的geom_density_2d_filled()函数绘制的核密度估算结果:

library("tidyverse"); theme_set(theme_minimal())
theme_update(panel.grid.minor = element_blank())
library("ggdensity")
library("patchwork")

df <- data.frame("x" = rnorm(1000), "y" = rnorm(1000))
p <- ggplot(df, aes(x, y)) + coord_equal()
p + geom_density_2d_filled()
ggplot2::geom_density_2d_filled()
p + geom_hdr()
ggdensity::geom_hdr()

可以看出:ggdensity的geom_hdr()函数试图通过展示可解释的估计分布区域来解决此问题,即通过绘制估计密度的50%、80%、95% 和 99% HDR,

  • 可视化亚群(Visualizing subpopulations)
library("palmerpenguins")
ggplot(penguins, aes(flipper_length_mm, bill_length_mm, fill = species)) +
  geom_hdr(xlim = c(160, 240), ylim = c(30, 70)) +
  geom_point(shape = 21)
ggdensity::geom_hdr()

还可以通过geom_hdr_lines()函数绘制线框样式:

还可以分面操作:

ggplot(penguins, aes(flipper_length_mm, bill_length_mm, fill = species)) +
  geom_hdr(xlim = c(160, 240), ylim = c(30, 70)) +
  geom_point(shape = 21) +
  facet_wrap(vars(species))
facet the plot:
  • 地毯密度图(Rug plots) 我们先看一下ggplot2绘制的结果:
ggplot(cars, aes(speed, dist)) +
  geom_density_2d() +
  geom_point() +
  geom_rug()
geom_rug()

接下来看下geom_hdr_rug()函数的绘制效果:

ggplot(cars, aes(speed, dist)) +
  geom_hdr() +
  geom_point(color = "red") +
  geom_hdr_rug()
geom_hdr_rug()

更多可视化案例可参考ggdensity的官网:R-ggdensity官网[1]

总结

今天介绍的R-ggdensity拓展工具,对最高密度区域(HDRs) 进行了很好的可视化展示,在一些数据预处理或展示阶段,可以帮助使用者更好的发掘数据,希望对读者有所帮助,大家也可以在实际的情况下多使用该图进行数据展示。

可视化学习圈子是干什么的?

可视化学习圈子是书籍「科研论文配图绘制指南-基于Python/R语言」一书的学下圈子:主要通过以下几个方面,给大家带来比纸质书籍更丰富的学习内容:

  • 视频教学,和读者零距离互动交流
  • 及时修正勘误和定期新增绘制知识点
  • 拓展衍生,绘图知识点远超书籍本身
  • 直播视频+拓展资料+答疑,学习更高效

「PS」:我们直播教学内容为课堂式教学,原作者带着大家对书籍一章、一节、一页的进行教学。而且直播的视频都会通过剪辑后整理成课程,圈子中的同学可以免费、反复观看。当然,新增内容和定期答疑,直播也是如此。

  • 为何会有这个书籍学习社群?无门槛的微信群难免会鱼龙混杂,问题和质量都无法得到保证,而且一些关键问题经常被淹没,且没有沉淀价值。

  • 随着添加我微信的人日益增多,向我提问的人也越来越多,随便回答一下就太不负责任了;不回答也不是很好;如果都仔细回答,我也有自己的工作并且确实很忙,真的有点心有余而力不足!所以我才会建立这么一个渠道来沉淀我的可视化技巧和分享经验,以及给大家提供一个坚持学习的平台。

书籍双十一优惠价,真的超划算呢!

有需要的同学千万别错过了呢

微信扫码下方二维码即可参与我们的书籍学习圈子啦:

微信扫码即可加入学习圈子

系统学习可视化

当然,在学习数据可视化的道路上,你也有很多问题得不到解答,也可以加入我们的可视化课程(可视化系列课程推文)后,在学员群里和大家一起谈论,一起进步,或者直接向我提问。如果我觉得你的问题很具有普适性,我会把它写成文章发布在公众号上,让更多人看到,有关我们数据可视化系列课程的服务内容,可以参考下面的 阅读原文

猜你喜欢

不是?!这种图一行代码就搞定了,超简单....
这图这么多人问!?赶紧给大家复现出来~~..
ggpubr!一键绘制出版级论文配图,绘图小白福音......
tidyterra!空间数据处理、可视化神器...
Antarctic-Plots!不用ArcGIS,我照样可以画出惊艳的地图...
比Matplotlib合并子图更方便!patchworklib让我告别PS拼图...
Xarray,不用ArcGIS,所有地理空间绘图全搞定...
Nature都推荐的箱线图(Boxplot)绘制工具长啥样?免费、在线、灵活操作...?
完美解决Matplotlib绘图中、英文字体混显问题..
MATLAB绘图不好看?!不是,你是还没发现这几个工具包吧..
不是,这个地理数据工具这么强的吗?数据处理、可视化它都行..
这种环形图太难画?!带你一行代码搞定..
不是,这封面图这么多人问的吗?教程来了
不用Seaborn,这个工具也能绘制超炫的统计图形···
NetworkX,网络结构图最强绘制工具·····

参考资料

[1]

R-ggdensity官网: https://jamesotto852.github.io/ggdensity/index.html。


喜欢就点个 在看 呗 👇

DataCharm
定期更新与科研学术有关的内容,比如论文插图绘制技巧、实用Python/R拓展包解读、作图软件(Veusz、Qrigin等)教程以及最前沿科研方法等。
 最新文章