数据分析R语言中文社区商业智能BI那点事儿

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

2017-11-14  本文已影响71人  天善智能

感谢关注天善智能,走好数据之路↑↑↑

欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答、求职一站式搞定!

本文作者:天善智能社区专家CYY

天善智能社区地址:https://www.hellobi.com/

一、广州市空气质量数据介绍

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$rainlevels(是否下雨) <- 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的降低更为显著。(以图说话,是不是更清晰更乐观!哈!)

天善智能社区地址:https://www.hellobi.com/

上一篇下一篇

猜你喜欢

热点阅读