炼数成金 门户 商业智能 R语言 查看内容

用R语言对空气质量进行可视化分析

2017-11-7 14:19| 发布者: 炼数成金_小数| 查看: 11265| 评论: 0|原作者: CYY|来自: 探数寻理
摘要: AQI指数(空气质量指数)AQI的指数的取值范围为0~500,其中0~50、51~100、101~200、201~300和大于300,分别对应国家空气质量标准中日均值的 I级、II级、III级、IV级和V级标准的污染物浓度限定数值。六项污染物质 ...
R语言 可视化
一、广州市空气质量数据介绍
AQI指数(空气质量指数)AQI的指数的取值范围为0~500,其中0~50、51~100、101~200、201~300和大于300,分别对应国家空气质量标准中日均值的 I级、II级、III级、IV级和V级标准的污染物浓度限定数值。

I级:空气质量评估为优,对人体健康无影响;
II级:空气质量评估为良,对人体健康无显著影响;
III级:为轻度污染,健康人群出现刺激症状;
IV级:中度污染,健康人群普遍出现刺激症状;
V级:严重污染,健康人群出现严重刺激症状。
空气质量等级
主要污染物
六项污染物质的浓度:其中PM2.5(粒径小于等于2.5μm的颗粒物,也称细颗粒物),PM10(粒径小于等于10μm的颗粒物,也称可吸入颗粒物),SO2(二氧化硫),NO2(二氧化氮)以及CO(一氧化碳)的浓度全部为24小时平均值,O3浓度值为8小时的滑动平均值。
时间跨度:2015年1月1日至2017年6月30日,共有912条记录。

二、探索性分析
从空气质量等级的基本统计信息来看,广州市的空气质量级别大多数为良,其次为优
#AQI指数的频数直方图(图2)
aqi_hist <- ggplot(data,aes(x=AQI))+geom_histogram()
两年半的时间内超过600天的AQI指数值在40~80的范围内。
#分年份AQI密度曲线(图3)
date <- ymd(data[,1])
year <- year(date)
年份 <- as.factor(year)
ggplot(data,aes(x=AQI,colour=年份))+geom_freqpoly(aes(y=..density..),size=2)+theme_bw()
从2015年至2016年来看广州的空气质量似乎没有在这段时间内有明显的改善,空气污染的治理仍需努力。
#主要污染物的频数统计(表3),以及分污染等级对主要污染物进行频数统计(表4)
mp_table <- table(data[,10])
level_mp_table <- table(data[,3],data[,10])
当空气质量较好时主要污染物多为NO2,然而当空气污染情况较为严重时主要污染物多为O3,其次为PM2.5。
#AQI指数与各类污染物的矩阵散点图(图6)
scatter <- plot(data[,c(2,4:9)],pch=20)
各污染物质与AQI指数的矩阵散点图
从上方的矩阵散点图可见,与AQI指数相关关系更为显著的污染物质是PM2.5和PM10
#是否下雨条件下分组AQI密度曲线(图8)
是否下雨 <- data$rain
levels(是否下雨) <- c('否','是')
rain_poly <- ggplot(data,aes(x=AQI,colour=是否下雨))+geom_freqpoly(aes(y=..density..),size=2)+theme_bw()

AQI密度曲线(分是否下雨)
下雨天的AQI指数有的更多比例集中在100以下,相比没有下雨的时候总体水平明显更低
下雨往往对空气质量有改善的作用。
#日均温度-AQI散点图(图9),分是否下雨情况下的日均温度箱线图(图10)
aqi_temp <- ggplot(data,aes(x=temp_mean,y=AQI))+geom_point()+geom_smooth()+theme_bw()
temp_box <- ggplot(data,aes(x=是否下雨,y=temp_mean))+geom_boxplot()+theme_bw()

AQI指数关于日平均温度的散点图

日平均温度的分组箱线图
相比之下,温度的高低对空气质量的好坏并没有显著影响。
下雨天也更多集中在高温时间,而下雨又有改善空气质量的作用
#温度-各类污染物散点图(图11)
t1 <- ggplot(data,aes(x=temp_mean,y=PM2.5))+geom_point()+geom_smooth()+theme_bw()
t2 <- ggplot(data,aes(x=temp_mean,y=PM10))+geom_point()+geom_smooth()+theme_bw()
t3 <- ggplot(data,aes(x=temp_mean,y=SO2))+geom_point()+geom_smooth()+theme_bw()
t4 <- ggplot(data,aes(x=temp_mean,y=CO))+geom_point()+geom_smooth()+theme_bw()
t5 <- ggplot(data,aes(x=temp_mean,y=NO2))+geom_point()+geom_smooth()+theme_bw()
t6 <- ggplot(data,aes(x=temp_mean,O3_8h))+geom_point()+geom_smooth()+theme_bw()
grid.arrange(t1,t2,t3,t4,t5,t6,nrow=2)

各污染物质浓度关于日平均温度的散点图
O3浓度在高温天气下会上升到较高水平,尤其是在温度达到30℃以上的时候。
因此在高温天气下应特别注意高浓度的臭氧污染问题。
#是否下雨-各污染物浓度分组箱线图(图12)
b1 <- ggplot(data,aes(x=是否下雨,y=PM2.5))+geom_boxplot()+theme_bw()
b2 <- ggplot(data,aes(x=是否下雨,y=PM10))+geom_boxplot()+theme_bw()
b3 <- ggplot(data,aes(x=是否下雨,y=SO2))+geom_boxplot()+theme_bw()
b4 <- ggplot(data,aes(x=是否下雨,y=CO))+geom_boxplot()+theme_bw()
b5 <- ggplot(data,aes(x=是否下雨,y=NO2))+geom_boxplot()+theme_bw()
b6 <- ggplot(data,aes(x=是否下雨,y=O3_8h))+geom_boxplot()+theme_bw()
grid.arrange(b1,b3,b3,b4,b5,b5,nrow=1)
每一种污染物质的浓度在下雨天都将有所降低,其中O3,PM2.5,PM10与SO2的降低更为显著。(以图说话,是不是更清晰更乐观!哈!)

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

  GMT+8, 2017-11-24 17:12 , Processed in 0.208289 second(s), 26 queries .