iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么
  • 137
分享到

R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么

2023-06-25 13:06:23 137人浏览 泡泡鱼
摘要

本篇内容主要讲解“R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言数据可视化tidyr与ggplot2多个变量分层展

本篇内容主要讲解“R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么”吧!

在R语言普通的绘图中,使用par()参数可以在一张图上实现不同变量的子图。如果我们想要用ggplot2实现,则需要整理我们的原始数据,这通常是非常麻烦的,这时就需要用到我们的tidyr来帮助我们绘图。

可能说上面一段话不是很容易理解,下面我们来举个栗子。

每个变量的密度分布情况

y1 <- rnORM(20)y2 <- rnorm(20)dat <- data.frame(y1, y2)

现有的数据集:

y1          y21  -0.12781723 -2.393768802   0.50074083  0.725552373  -0.02419456  0.947217014  -0.26366759 -0.600067595   1.13042618 -0.075910466   0.04313160  1.186777427   0.01180343  0.176277008   0.15208821 -0.124723919  -0.72690758 -1.9223317010  1.04903577 -0.6620897411  0.89689082  0.1633192912  0.28471495  2.0062912713 -0.26956768 -0.1189777914 -0.81699454 -1.0557530215 -0.65923768  1.2097100416  0.18237270  1.5574546717 -0.52359358 -0.7425349618  1.36949647  1.0775947419 -0.39882438  0.8391541420  0.92084949 -1.04859906

思考

我们要如何利用ggplot达到上图的效果?

需要用数据集,将y1与y2分别整理到一个新的变量上,叫做var

里面所有的值也变成一个新的变量,叫做value

如果只有两个变量整理起来还比较简单,但如果变量一旦增多,整理起来相对就较为繁琐。所以这里推荐使用tidyr包来进行整理。

其用起来也非常简单。

tidyr

使用如下代码,我们就可以整理成想要的结果:

dat %>%  gather(y1, y2, key = "var", value = "value")

解释一下上述代码的含义:y1, y2表示原本数据中的变量;key = "var" 表示转换之后,变量所在的那一列的名称为var;value = "value"表示转换之后,原本的值所在的那一列的名称为value

输出结果如下:

   var       value1   y1 -0.127817232   y1  0.500740833   y1 -0.024194564   y1 -0.263667595   y1  1.130426186   y1  0.043131607   y1  0.011803438   y1  0.152088219   y1 -0.7269075810  y1  1.0490357711  y1  0.8968908212  y1  0.2847149513  y1 -0.2695676814  y1 -0.8169945415  y1 -0.6592376816  y1  0.1823727017  y1 -0.5235935818  y1  1.3694964719  y1 -0.3988243820  y1  0.9208494921  y2 -2.3937688022  y2  0.7255523723  y2  0.9472170124  y2 -0.6000675925  y2 -0.0759104626  y2  1.1867774227  y2  0.1762770028  y2 -0.1247239129  y2 -1.9223317030  y2 -0.6620897431  y2  0.1633192932  y2  2.0062912733  y2 -0.1189777934  y2 -1.0557530235  y2  1.2097100436  y2  1.5574546737  y2 -0.7425349638  y2  1.0775947439  y2  0.8391541440  y2 -1.04859906

用了上述结果,就可以非常简单地使用ggplot2进行画图了。

ggplot2进行绘图

我们可以直接使用管道数据的处理方式进行绘图,简便快捷:

dat %>%  gather(y1, y2, key = "var", value = "value") %>%  ggplot(aes(x = value)) +   geom_histogram(aes(fill = factor(var), y = ..density..),                 alpha = 0.3, colour = 'black') +  stat_density(geom = 'line', position = 'identity', size = 1.5,               aes(colour = factor(var))) +  facet_wrap(~ var, ncol = 2) +   labs(y = '直方图与密度曲线', x = '值',       title = '标题', fill = '变量') +  theme(plot.title = element_text(hjust = 0.5)) +  guides(color = FALSE)

这里基本都是前面的博客:R语言学习ggplot2绘制统计图形包全面详解 里面有提及到。

只有一个就是guides(color = FALSE),表示隐藏线颜色的图例,因为线的颜色我们是用color =来指定的。同理如果要隐藏柱状图颜色的图例则使用 guides(fill = FALSE)即可。

到此,相信大家对“R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么

本文链接: https://www.lsjlt.com/news/304988.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作