当前位置: 首页 > news >正文

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

原文链接: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")

37a048b958be01d2cc343f828fe49331.png

daily<- read_csv("daily.csv")

0c0b07a52ad6e789eecc5ccb93be8d30.png

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 )

ee061bdd556ae3fdf72a544f885bfe4a.png

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


点击标题查阅往期内容

d05871020140db8a4ca453860ba10bfa.png

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

outside_default.png

左右滑动查看更多

outside_default.png

01

443b8b8e0cdc38f7c48d6a3b9bccf56a.png

02

6ad5d29021e0f50728ac82dd15c5984b.png

03

947f8fca13c2c672cd1dfcf5d41d206f.png

04

5a0882dab6d9c7b681526f1cf821b48c.png

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

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

f1c4a0c8aa81242d46b5b4507673eb9d.png

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

550ca95ffe55bd1f490265c257527bda.png

时间变化

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

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

19702e87401c5bda6d3d6d9b1a610082.png

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

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

0e27fb22f5b6f236b146f18d79334547.png

空间分布

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

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

77e2dc09571d42fe6a84eb24fcfbd52f.png

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

ggplot() +geom_polygon(aes(x = long, y = lat, group ,  fill ),          scale\_fill\_distiller

9525c27cc0ee721e189a14dfc49dd974.png

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

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

09dd6e2335a4fb191e4c021d993b454a.png

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

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

a9eaa7789b64d72e798ec294095fb4a2.png

结论

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

c9f041f87bedab53345149e73a829dbb.jpeg

本文中分析的数据分享到会员群,扫描下面二维码即可加群!

547c8c4f5129821f9465b1a0b56d0d1a.png

e3f7529895feed5221373c793eab0597.jpeg

点击文末“阅读原文”

获取全文完整资料。

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

4439aab458a97cb0b2bde515688277f8.jpeg

d12cf5d7b1974ff7b30a149e42e78de4.png

点击标题查阅往期内容

上海无印良品地理空间分布特征与选址策略可视化研究

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

R语言在地图上绘制散点饼图可视化 

r语言空间可视化绘制道路交通安全事故地图

在GIS中用ggmap地理空间数据分析

tableau的骑行路线地理数据可视化

R语言推特twitter转发可视化分析

618电商大数据分析可视化报告

用RSHINY DASHBOARD可视化美国投票记录

python主题LDA建模和t-SNE可视化

R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告

R语言动态图可视化:如何、创建具有精美动画的图

Tableau 数据可视化:探索性图形分析新生儿死亡率数据

R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图

4e6e814504b2198fa865820a2dbb3f1d.png

6a4904cfd2abc13b06969e210f615c15.jpeg

a39e47d5594b842edf50cd013c44cb50.png

http://www.lryc.cn/news/145867.html

相关文章:

  • 实现excel导出最简单方式
  • 【每日一题Day310】LC1654到家的最少跳跃次数 | BFS
  • [Android AIDL] --- AIDL原理简析
  • 企业的固定资产管理怎么操作
  • Rust 进阶学习
  • 保护网站安全:学习蓝莲花的安装和使用,复现跨站脚本攻击漏洞及XSS接收平台
  • Redis——如何解决redis穿透、雪崩、击穿问题
  • MySQL一行记录是如何存储的?
  • [element-ui] el-tree全部展开与收回
  • git 统计(命令)
  • 斐波那契1(矩阵快速幂加速递推,斐波那契前n项平方和)
  • minikube mac 启动
  • 从零开始学习 Java:简单易懂的入门指南之查找算法及排序算法(二十)
  • 非煤矿山风险监测预警算法 yolov8
  • Ansible学习笔记(一)
  • 2024毕业设计选题指南【附选题大全】
  • Error: PostCSS plugin autoprefixer requires PostCSS 8 问题解决办法
  • pymongo通过oplog获取数据(mongodb)
  • MySQL数据备份与恢复
  • 基于ssm+vue汽车售票网站源码和论文
  • 【List】List集合有序测试案例:ArrayList,LinkedList,Vector(123)
  • 【javaweb】学习日记Day6 - Mysql 数据库 DDL DML
  • 使用 PyTorch C ++前端
  • 6、NoSQL的四大分类
  • (动态规划) 剑指 Offer 60. n个骰子的点数 ——【Leetcode每日一题】
  • ArrayList与顺序表
  • 【【萌新的STM32-22中断概念的简单补充】】
  • Java 中数据结构HashMap的用法
  • Request对象和response对象
  • 设计模式之桥接模式