R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)|附代码数据

news/2024/11/15 9:29:58/文章来源:https://www.cnblogs.com/tecdat/p/18203059

原文链接:http://tecdat.cn/?p=23800

最近我们被客户要求撰写关于空气污染数据的研究报告,包括一些图形和统计输出。

由于空气污染对公众健康的不利影响,人们一直非常关注。世界各国的环境部门都通过各种方法(例如地面观测网络)来监测和评估空气污染问题

介绍

全球的地面站及时测量了许多空气污染物,例如臭氧、一氧化碳、颗粒物。EPA(环境保护署)提供了空气污染数据,本文选择了颗粒物2.5(PM2.5)和空气质量指数(AQI)这两个关键变量,以可视化和分析空气污染的趋势和模式。PM2.5代表直径小于2.5微米的颗粒物浓度,AQI是综合考虑所有主要污染物的空气污染状况的整体指标。具体来说,此工作的数据源列出如下:

  • 监测人员每天的PM 2.5浓度水平和AQI指数数据;
  • 县一级的AQI年度摘要。

数据预处理

每日站点数据包含每个地面站与PM2.5相关的各种属性。有关站信息,污染物的关键变量通过以下代码从原始数据中过滤掉。重命名过滤后的数据框的列名,以方便以下分析。

 
 
#导入数据
aqi <- read_csv("aqi.csv")

图片

 
 
daily<- read_csv("daily.csv")

图片

 
 
names(data) <- c( "date", 
                     "pm25", "aqi",  "long", "lat")

统计摘要

对点级PM2.5浓度和县级AQI指数的基本统计描述可以帮助更好地理解这两个变量。在这里,直方图和箱形图用于可视化PM2.5浓度和AQI的分布特征。每日AQI指数可衡量空气污染的严重程度,可用于根据AQI的值将天数分为不同的类别。就空气污染水平而言,通常可以将天气分为四类,包括良好,中度,不健康和危险。

本报告中使用的县级AQI数据包括四个类别变量,代表每个类别的天数。下面的代码直观地显示了四个类别变量的分布。根据直方图,大多数县在整年总体空气质量良好,这可以通过良好''分布的偏斜来表示,不健康''和危险''的0天左右的分布间隔非常窄。此外,良好''和中等''的分布显示出相反的偏斜,这表明空气质量中等的日子在全年并不典型,因为中等''的分布集中在50天以下,而``良好''的分布在250天以上。

 
 
## 县域内aqi的直方图
vi <-
  aqi %>% 
  select(`好', `中等', `不健康', `危险') %>%ggplot(data = vi )

图片

县级数据代表空气污染的平均水平。来自地面站的PM2.5和AQI的点级测量描述了空气污染的详细情况和当地情况。


点击标题查阅往期内容

图片

R语言空间可视化:绘制英国脱欧投票地图

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

站级的PM2.5和AQI的分布如下所示。两种分布都显示出正偏度,AQI聚集在50附近,而PM2.5低于25。在这一年中,很少出现两个变量都具有高值的站点。

 
 
## ##AQI和PM2.5的直方图
  pmaqi  %>%
ggplot(data) +
  geom_histogram(aes(x = value), bins = 35) +

图片

 
 
ggplot(data) +
  geom_boxplot(aes(x =class,  y = value))

图片

时间变化

每日数据记录了2018年监测站点每天的观测时间序列,可用于探索PM2.5和AQI的趋势。首先,针对每种数据对每种状态下站点的测量值求平均。选择了七个州的时间序列以显示其一年中的变化,如下所示。从该图可以看出,南部和西部各州在年初就经历了严重的空气污染问题。趋势曲线的高峰表明,下半年的空气质量均较差。

 
 
##按州和日排列
vis <- 
  select(state, date, pm25, aqi) %>%
  group_by(state, date) %>%
  summarise(pm25 = mean(pm25), aqi = mean(aqi)) %>%ggplot(data = vis)

图片

为了显示总体变化,每天汇总来自所有监视的测量值。一年中的总体变化绘制如下。我们可以看到,AQI和PM2.5的变化趋势显示出相似的模式,而夏季和冬季的空气污染更为严重。

 
 
##按天数计算
  select(date, pm25, aqi) %>%
  group_by(date) %>%
  summarise( mean(pm25), mean(aqi)) %>%
ggplot(data = vis) +

图片

空间分布

汇总了针对不同州的县级AQI指数,以探索每个州的空气质量的空间变化。下图通过渐变颜色绘制了变量良好天气的不同平均值。该地图显示了各州空气质量良好的日子。从地图上可以看出,北部和东部地区的空气条件比其他州更好。

 
 
##按州汇总aqi(区域水平)。vis <- 
  aqi %>%
  group_by(State) %>%ggplot() +
  geom_polygon(aes(x = long, y = lat, group = group, fill = good)

图片

下面还绘制了不健康天数变量的平均值,这证实了以前的观察结果,即东部各州的空气条件较好。

 
 
ggplot() +
  geom_polygon(aes(x = long, y = lat, group ,  fill ),          
  scale_fill_distiller

图片

每个站点的站点级别测量值汇总为年平均值。下图显示了美国年平均PM2.5浓度的空间分布。绿色点表示较低的PM2.5浓度。西部的测站测得的PM2.5浓度较高。

 
 
## 数据的汇总
###用于pm2.5
  pmaqi %>%
  summarise(pm25 = mean(pm25), aqi = mean(aqi), long = mean(long), lat = mean(lat)) %>%
ggplot() +
  geom_polygon(aes(x = long, y = lat, group = group)

图片

AQI可以提供更全面的空气状况度量。站点上的点级AQI映射如下。由于AQI考虑了许多典型污染物,因此与PM2.5的模式相比,AQI的分布显示出不同的模式。

 
 
###aqi指数
vi<- vi[class == "aqi", ]
ggplot(vi) +
  geom_polygon(aes(x = long, y = lat, group = group)

图片

结论

本报告利用了空气污染数据和R的可视化,从时空维度探讨了空气污染的分布和格局。从数据中可以识别出PM2.5和AQI的时空变化。夏季和冬季均遇到空气污染问题。西部和南部的州比北部和东部的州更容易遭受空气污染问题。

图片

图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)》。

点击标题查阅往期内容

上海无印良品地理空间分布特征与选址策略可视化研究
R语言空间可视化:绘制英国脱欧投票地图
R语言在地图上绘制散点饼图可视化 r语言空间可视化绘制道路交通安全事故地图
在GIS中用ggmap地理空间数据分析
tableau的骑行路线地理数据可视化
R语言推特twitter转发可视化分析
618电商大数据分析可视化报告
用RSHINY DASHBOARD可视化美国投票记录
python主题LDA建模和t-SNE可视化
R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告
R语言动态图可视化:如何、创建具有精美动画的图
Tableau 数据可视化:探索性图形分析新生儿死亡率数据
R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/709520.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++——类

C++学习 类 一、定义 class 类名 {public: //外界可以直接访问或者调用private: //不能被外部所访问或调用, 只能被本类内部访问 };二、类的成员函数类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。类成员函数是类的一个成员,它可以操作…

R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化

全文链接:https://tecdat.cn/?p=33760 原文出处:拓端数据部落公众号 概述: 众所周知,心脏疾病是目前全球最主要的死因。开发一个能够预测患者心脏疾病存在的计算系统将显著降低死亡率并大幅降低医疗保健成本。机器学习在全球许多领域中被广泛应用,尤其在医疗行业中越来越受…

c++菱形继承、多态与类内存模型

目录1.菱形继承1.1.菱形继承的问题1.2.解决办法2.虚函数与多态2.1.普通函数不能实现多态2.2.虚函数(子类重写)+ 父类指向子类——实现多态2.3.多态原理3.c++内存模型4.参考 1.菱形继承 先看下面的例子,SheepTuo同时继承了Sheep和Tuo,而他们同时继承Animal类#include <io…

痞子衡嵌入式:从JLink V7.62开始优化了手动增加新MCU型号支持方法

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是JLink 7.62优化了手动增加新MCU型号支持方法。JLink 工具可以说是搞单片机开发的必备神器,JLink 包括一个硬件仿真器(分不同用途的 EDU/BASE/PLUS/WIFI/ULTRA+/PRO)和 PC 机上的驱动软件(从有迹可循的 20…

AnimationClip同步工具

用途:列出动画的第1帧与预制体GameObject当前值不同的,需要同步的可以手动同步 效果图 public struct ValueNotSameItem {public EditorCurveBinding curveBinding; //关联参数public AnimationCurve animCurve; //动画曲线public float kfValue; //动画曲线上第1帧的值publi…

鸿蒙HarmonyOS实战-Stage模型(开发卡片事件)

🚀一、开发卡片事件 HarmonyOS元服务卡片页面(Metaservice Card Page)是指在HarmonyOS系统中,用于展示元服务的页面界面。元服务是指一组提供特定功能或服务的组件,例如天气服务、音乐播放服务等。元服务卡片页面可以显示元服务的相关信息和操作选项,用户可以通过点击卡…

【论文阅读】FlexGraph: A Flexible and Efficient Distributed Framework for GNN Training

阅读思考问题: Please briefly describe how hierarchical dependency graphs are built in FlexGraph, and point out the specific stage in the NAU abstraction where this process takes place. 请简要描述在FlexGraph中如何构建分层依赖图,并指出在NAU抽象中的具体阶段…

N 年前,为了学习分库分表,我把 Cobar 源码抄了一遍

10 几年前,互联网产业蓬勃发展,相比传统 IT 企业,互联网应用每天会产生海量的数据。 如何存储和分析这些数据成为了当时技术圈的痛点,彼时,分库分表解决方案应运而生。 当时最流行的 Java 技术论坛是 javaeye ,有位淘宝的技术人员分享了一篇分库分表的文章 ,这篇文章,我…

4、Git之分支操作

4.1、分支的概述 在版本控制过程中,当需要同时推进多个任务时,可以为每个任务创建的单独分支。 虽然分支的底层实现是指针的引用,但是初学阶段可以将分支简单理解为副本,一个分支就是一个单独的副本。 使用分支,意味着从原来的主干上分离开,在分支上做的任何改动,在合并…

Spring 对 Junit4,Junit5 的支持上的运用

1. Spring 对 Junit4,Junit5 的支持上的运用 @目录1. Spring 对 Junit4,Junit5 的支持上的运用每博一文案2. Spring对Junit4 的支持3. Spring对Junit5的支持4. 总结:5. 最后:每博一文案 关于理想主义,在知乎上看到一句话:“他们并不是不懂别人口中的现实,他们只是不信,事…

Eclipase的JNnit导包报错

在使用Eclipase 创建项目时系统会自动帮我们生成一个module文件,JNnit单元测试时,记得删除自动生成的 module-info.java文件,不然会一直报错找不到 org

来玩 GitHub 啊,SSH 连接方式

Windows 11 git version 2.32.0.windows.2 GitHub 20240520 --今天找回了自己的 GitHub 账号密码,继续玩吧,再次加入 蓝星的开源软件基地。 使用邮箱注册的,找回密码也很方便。本文简要展示 按照官方文档的介绍 使用 SSH 连接 GitHub 的过程。 简述为:创建SSH密钥对 公钥注…