好文档 - 专业文书写作范文服务资料分享网站

R语言及ggplot2在环境空气监测数据可视化中的应用

天下 分享 时间: 加入收藏 我要投稿 点赞

龙源期刊网 http://www.qikan.com.cn

R语言及ggplot2在环境空气监测数据可视化中的应用

作者:袁佳

来源:《中国高新技术企业》2015年第16期

摘要:文章对R语言及ggplot2做了介绍,并通过一系列实例描述了它们在环境空气自动监测数据的收集、清洗、整理、统计变换、可视化方面的应用,反映出其在数据分析中的巨大潜力。

关键词:R语言;ggplot2;环境空气监测;监测数据分析;可视化 文献标识码:A 中图分类号:X823 文章编号:1009-2374(2015)16-0088-04 DOI:10.13535/j.cnki.11-4406/n.2015.16.043

随着新《环境空气质量标准》(GB 3095-2012)的发布、实施,全国各地都在采用环境空气自动监测以应对其严苛的数据有效性要求。环境空气自动监测系统每天都在产生大量的数据,如何对数据进行有效的统计分析,成为一个新的课题。对数据的可视化,是数据分析的第一步。本文应用R语言及ggplot2图形绘制包以浙江省常山县城区两个空气自动站即环保大楼站及图书馆站2014年全年监测数据为例进行各种可视化分析,以探讨该软件在空气质量数据分析领域应用的巨大潜力。 1 软件准备

1.1 R语言软件与扩展包

R语言是一种区分大小写的解释性语言,其具有的强大统计计算及绘图能力,是从大数据中获取有用信息的绝佳工具,它提供了Windows、OS X、Linux等各大操作系统下的版本,可以直接从网上免费下载、安装、使用。R语言软件在基本安装中提供了大量的数据处理、统计和图形函数,此外各社区还开发了数以千计的扩展包(packages)为R增加了更多令人惊奇的功能,本文用到的ggplot2、plyr、reshape2等即是其中的一部分。

ggplot2是目前R语言中的图形绘制扩展包,它为R语言提供了一个基于全面而连贯的语法的绘图系统,它由一系列独立的图形部件组成,并能以许多种不同的方式组合起来,使得数据分析者能用紧凑的语法轻松绘制出复杂的图形,从而使数据分析者更能将注意力集中于数据分析本身。plyr与reshape2是两个功能强大的数据整理扩展包,它们为R语言扩展了对数据变换、数据变形的功能。

龙源期刊网 http://www.qikan.com.cn

ggplot2软件包可以在R语言命令提示符后输入install.packages(“ggplot2”),选择合适的下载镜像后,就可以自动从网上下载安装。在Windows操作系统下下载的是二进制文件,可以直接使用;在类Unix操作系统下,下载的是包的源代码,经过编译后才能使用,但只要具备gcc等编译工具,安装都可通过简单的命令完成。在使用前,需要输入library(ggplot2)或require(ggplot2)调用该软件包。plyr包等也是如此。 1.2 Excel

但面对原始数据,微软公司的Excel往往是对数据进行清洗、分列的直观分析利器。各地自动监测站采集并导出的原始数据往往是xml格式的,而Excel处理这种格式极为得心应手。Excel中的数据筛选功能可以轻易地删除大量无效数据,分列功能可以将监测日期与时刻分离以便于下一步的处理,数据格式也可以得到统一,将数据“另存为”csv格式后即可通过read.csv()函数导入R软件。R软件也可以通过write.csv()函数写出csv格式的文件与Excel交互使用。 2 数据处理

2.1 数据的收集与整理 2.2 数据的统计变换

对数据分析的细化过程往往就是分组的过程。2.1节中为数据增加“month”一列即是为数据按月份进行分组,“site”一列即是为站点分组,“clock”一列即是为数据按时刻进行分组。在实际工作中,分析数据的角度不同,分组也是千奇百怪。如可按当日温度差来分组,也可按平均风速的大小来分组,当然也可以按PM2.5日均值大小来分组来考察其他观测值的情况。 数据的变换与变形则是基于统计以及下一步分析的需要,将数据变化成相应的形式。 2.2.1 创建分组变量。在数据分析过程中,常常发现这种情况:组别分的太细或者需要根据原数值内容创建分组。

melt()函数中id.var意为标识变量,即在原数据框中需保留的列向量,measure.var意为度量变量,即在原数据框中需要融合的列向量。melt()函数生成的新数据框中保留了id.var的同时,生成了两列:一列名为variable,包含的是measure.var;一列名为value,即原数据框中measure.var的值。由于ggplot2的独特语法,使用melt()函数得到的新数据框可使ggplot2在同一张图中绘制多个参数。 3 ggplot2数据可视化应用

一般认为R语言有4套图形系统,即graphics、grid、lattice、ggplot2。其中graphics、grid、lattice被认为是基础图形系统,它们的绘图命令精炼、实用、运行速度块,制出的图形

龙源期刊网 http://www.qikan.com.cn

美观、实用,但是基础图形系统的制图方式极为生硬,函数各参数繁复,令人往往在绘图上耗费大量的时间,而不是在数据分析上。

ggplot2是2005年后才新出现的图形系统,它提供了统一的接口及一些选项,替代了基础图形系统那套繁杂的修补体系,令使用者能更多地关注于数据本身。当然ggplot2中也有大量底层命令可对图形作精细的修改。 3.1 数据的简单分布

箱线图是一种展示数据分布的方法,箱内为25%~75%的值,箱中的横线代表中位值,箱子上下竖线表示上下的相邻值,超过相邻值的点称为外部点。使用ggplot2绘制常山县两个站点二氧化硫全年日均值分布的箱线图命令如下所示,绘制出的图形见图4。 3.2 趋势线的添加

在数据可视化工作中,参数与参数之间往往有着或多或少的关系,添加趋势线是探索这种关系的一种桥梁。R语言在数据分析方面最大的优势就是其强大的数据拟合功能,它提供了线性、非线性、神经网络、支持向量机等大量数据拟合工具。这些工具均可以与ggplot2配合使用绘制出趋势图形,以检验其拟合成果。 3.3 分组变量的体现

在数据可视化的过程中,数据分组可以帮助人们揭示更多的细节。ggplot2可将在数据处理阶段创建的分组变量以颜色、形状、大小等形式映射于图上。

此例geom_point()函数中的size参数将臭氧浓度水平映射到二氧化氮浓度点的大小上,如此从图中可以明显可见臭氧浓度水平“强”时,往往是二氧化氮浓度较低时。类似的还可以用colour、shape等将分组变量的各组别映射为颜色、形状等,使绘制出的二维图呈现出更多的内容。

3.4 图形分面

数据可视化中最实用的技术之一是将分组的数据并列呈现,这样可以使得组间数据的比较变得容易许多,ggplot2中将之称为分面(facet)。ggplot2中可以用facet_grid()和facet_wrap()两个函数都可以绘制出分面图。

2.2.3中利用melt()函数得到了csclockmelt数据框,下例利用该数据,绘制四季中二氧化硫、二氧化氮、细颗粒物这三大污染物在24小时中的分布情况图,命令如下,得到图7。

R语言及ggplot2在环境空气监测数据可视化中的应用

龙源期刊网http://www.qikan.com.cnR语言及ggplot2在环境空气监测数据可视化中的应用作者:袁佳来源:《中国高新技术企业》2015年第16期摘要:文章对R语言及ggplot2做了介绍,并通过一系列实例描述了它们在环境空气自动监测数据的收集、清洗、整理、统计变换、可视化方面的应用,反映出其
推荐度:
点击下载文档文档为doc格式
5kf6n0myuz4n7xz5eecp3x5if1klf700ax1
领取福利

微信扫码领取福利

微信扫码分享