原文链接: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的点级测量描述了空气污染的详细情况和当地情况。站级的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.5pmaqi %>%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的时空变化。夏季和冬季均遇到空气污染问题。西部和南部的州比北部和东部的州更容易遭受空气污染问题。


最受欢迎的见解

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

2.TABLEAU的骑行路线地理数据可视化

3.用数据告诉你出租车资源配置是否合理

4.R语言GGMAP空间可视化机动车交通事故地图

5.用R语言制作交互式图表和地图

6.基于出租车GPS轨迹数据的研究:出租车行程的数据分析

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

8.把握出租车的数据脉搏

9.共享单车大数据报告

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

  1. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  2. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  3. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  4. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  5. 拓端tecdat|bilibili视频流量数据潜望镜

    最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...

  6. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  7. R语言使用ggplot2包的快速可视化函数qplot绘制散点图(设置数据点的形状、大小)实战

    R语言使用ggplot2包的快速可视化函数qplot绘制散点图(设置数据点的形状.大小)实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制散点图(设置点的形状.大小)实战

  8. R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法、data.table、dplyr等方案、计算滑动分组统计

    R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法.data.table.dplyr等方案.计算滑动分组统计 ...

  9. R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法、data.table、dplyr等方案、计算分组均值并添加到可视化结果中

    R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法.data.table.dplyr等方案.计算分组均值并添加到可视化结果中 目录

  10. R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计、所有特征的NA值统计

    R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计.所有特征的NA值统计 目录

最新文章

  1. 对MBProgressHUD进行封装并精简使用
  2. HTML初级知识点总结(2)
  3. 装配图位置偏转怎么调整_大偏转角液晶偏振光栅的研究
  4. MyBatis关键配置
  5. 01-MyBatis入门程序
  6. 拼图游戏和它的AI算法
  7. Buffer内存分配
  8. 使用Redis计数器防止并发请求
  9. 计算机网络之A、B、C类网络地址
  10. 修改django后台管理员密码
  11. 计算机四级网络工程师知识点(非常全面)
  12. 解决前端做excel下载的文件打不开
  13. linux什么时候挂载根文件系统,什么时候要重新制作Linux的根文件系统?谢谢
  14. 笔记本电脑设置自动关机以及取消自动关机
  15. xshell中黏贴时,出现vi乱行问题
  16. 23种设计模式-依赖倒转原则
  17. MYSQL查看表结构
  18. iMatrix平台6.0.0.RC1版本可以在线使用了
  19. tif构建金字塔失败arcgis_arcgis构建金字塔
  20. 教主黄仁勋亮相GTC China:英伟达已售出15亿块GPU!重磅发布TensorRT 7

热门文章

  1. Android碎碎念 -- 广播LocalBroadcastManager的实现
  2. Android 学习笔记之Volley(七)实现Json数据加载和解析...
  3. 理解insert all/insert first的使用
  4. devcloud 基础架构
  5. 第十七章 模型压缩及移动端部署
  6. 第三季-第17课-信号量同步编程
  7. VC Ping IP的类
  8. 基于VS快速排序的单元测试
  9. GraphQL到底怎么用?看看这个例子就知道了
  10. 区块链教程Fabric1.0源代码分析putils(protos/utils工具包)