Calidad del aire
Introducción.
Antecedentes.
Datos, procedimietos, análisis y resultados
Datos de la calidad de aire
library(pacman)
p_load("readxl", "prettydoc", "tidyverse", "DT", "gridExtra", "gganimate", "gifski")
calidadaire <- read_excel("calidadaire.xlsx",
col_types = c("date", "numeric", "numeric",
"numeric"))Visualización de datos del aire
datatable(calidadaire)Datos, gráficas y cantidades del aire
- Ozono
plot(calidadaire$Time, calidadaire$O3, title(main='O3 ppb'), xlab = "Días", ylab = "Ozono (O3)")
rectaO3 <- lm(calidadaire$O3 ~ calidadaire$Time)
abline(rectaO3, col='blue', lwd='2')Segun la gráfica en los datos generales del mes de Noviembre, en base al ozono (O3), podemos ver como este gas se ha estado reduciendo (levemente) mientras avanzaban los días, esto se ve gracias a la linea graficada.
Visualizando los datos en números, tenemos:
summary(rectaO3)##
## Call:
## lm(formula = calidadaire$O3 ~ calidadaire$Time)
##
## Residuals:
## Min 1Q Median 3Q Max
## -97.458 -10.887 -3.185 11.017 39.077
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.998e+03 1.127e+03 1.772 0.0768 .
## calidadaire$Time -1.232e-06 7.021e-07 -1.755 0.0797 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 14.1 on 718 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.004272, Adjusted R-squared: 0.002885
## F-statistic: 3.081 on 1 and 718 DF, p-value: 0.07966
Donde \[y= -1.232e-06x + 1.998e+03\]
La disminución del ozono en el aire de hermosillo fue a razon de 1.232e-06ppb por hora, este valor lo obtenenmos con la ecuación de la recta.
Dioxido de Azufre.
plot(calidadaire$Time, calidadaire$SO2, title(main='SO2 ppb'), xlab = "Días", ylab = "Dioxido de azufre (SO2)")
rectaSO2 <- lm(calidadaire$SO2 ~ calidadaire$Time)
abline(rectaSO2, col='blue', lwd='2')El Dioxido de Azufre a diferencia del ozono, incrementa conforme pasan los días del mes de Noviembre. Se ve en los datos como en los días del 4 al 12 y del 20 al 27, hay una baja de este componente en el aire de hermosillo, este compuesto se produce en su mayoría por la combustion de productos petroleros, por lo que podemos decir que en esos días no hubo mucho movimiento vehicular en comparación a otros días.
Visualizando los datos en números, tenemos:
summary(rectaSO2)##
## Call:
## lm(formula = calidadaire$SO2 ~ calidadaire$Time)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.26479 -0.10279 -0.00567 0.06709 0.76872
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -8.089e+01 1.151e+01 -7.026 4.93e-12 ***
## calidadaire$Time 5.064e-08 7.171e-09 7.062 3.90e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.144 on 718 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.06494, Adjusted R-squared: 0.06364
## F-statistic: 49.87 on 1 and 718 DF, p-value: 3.895e-12
Donde \[y=5.064e-08x - 8.089e+01\]
El incremento que tiene este componente en el aire de Hermosillo es de 5.064e-08ppb por hora según la ecuación de la recta obtenida.
Partículas inhalables.
plot(calidadaire$Time, calidadaire$PM10, title(main='PM10 microgr/m3'), xlab = "Días", ylab = "Partículas inhalables (PM10)")
rectaPM10 <- lm(calidadaire$PM10 ~ calidadaire$Time)
abline(rectaPM10, col='blue', lwd='2')Se puede ver en la grafica que este tipo de particulas, incrementaron en el mes de Noviembre, estas partículas se crean o producen por procesos mecanicos o de evaporación teniendo a los procesos industriales o del tráfico como principales productores. Por lo anterior, se intuye que aumento el movimiento vehicular en hermosillo conforme el mes de noviembre llegaba a su fin.
Visualizando los datos en números, tenemos:
summary(rectaPM10)##
## Call:
## lm(formula = calidadaire$PM10 ~ calidadaire$Time)
##
## Residuals:
## Min 1Q Median 3Q Max
## -62.708 -24.025 -6.048 17.793 194.560
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -7.157e+03 2.663e+03 -2.687 0.00737 **
## calidadaire$Time 4.493e-06 1.659e-06 2.708 0.00692 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 33.31 on 718 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.01011, Adjusted R-squared: 0.008734
## F-statistic: 7.335 on 1 and 718 DF, p-value: 0.006923
Donde \[y= 4.493e-06x - 7.157e+03\]
- Según la ecuación obtenida, estas partículas incrementan a razon de 4.493e-06 microgramos por metro cúbico.
Correlación
pairs(calidadaire)- Con esta gráfica pareciera que el Dioxido de Azufre aumenta, las partículas inhalables también lo hicieran.
concentracionSO2 <- calidadaire$SO2
concentracionPM10 <- calidadaire$PM10
SO2vsPM10 <- data.frame(concentracionSO2, concentracionPM10)
pairs(SO2vsPM10)- Para ver si hay alguna relación:
cor(SO2vsPM10)## concentracionSO2 concentracionPM10
## concentracionSO2 1 NA
## concentracionPM10 NA 1
- Con esto podemos visualizar de mejor manera que lo que especulamos con la relaciones entre SO2 y las PM10, era incorrecto.
Datos y gráficas Movilidad en Sonora, mes de Noviembre 2020
Sonoramov <- read_excel("Sonoramov.xlsx",
col_types = c("text", "text", "text",
"numeric", "numeric", "text", "numeric",
"date", "numeric", "numeric", "numeric",
"numeric", "numeric", "numeric"))| ### Visualizar datos de movilidad en Sonora |
r datatable(Sonoramov) |
| * Datos recuperados de : https://www.google.com/covid19/mobility/ |
| * Renombrar variables de interes para facilitas al momento de llamarlas |
| ```r Comercio_Recreacion_porciento <- Sonoramov$retail_and_recreation_percent_change_from_baseline |
| Frmacias_abarrotes_porciento <- Sonoramov$grocery_and_pharmacy_percent_change_from_baseline |
| Parques_porciento <- Sonoramov$parks_percent_change_from_baseline |
| Estaciones_transito_porciento <- Sonoramov$transit_stations_percent_change_from_baseline |
| Espacios_trabajos_porciento <- Sonoramov$workplaces_percent_change_from_baseline |
| Hogares_porciento <- Sonoramov$residential_percent_change_from_baseline |
| Porcentaje_VR <- Sonoramov$retail_and_recreation_percent_change_from_baseline |
| Porcentaje_F <- Sonoramov$grocery_and_pharmacy_percent_change_from_baseline |
| Porcentaje_P <- Sonoramov$parks_percent_change_from_baseline |
| Porcentaje_ET <- Sonoramov$transit_stations_percent_change_from_baseline |
| Porcentaje_AT <- Sonoramov$workplaces_percent_change_from_baseline |
| Porcentaje_H <- Sonoramov$residential_percent_change_from_baseline |
| Fechamr = seq(from = as.Date("2020-11-01"), to = as.Date("2020-11-30"), by = 'day') |
| dataMR <- data.frame(x=Fechamr,y=Comercio_Recreacion_porciento) ``` |
| * Gráficas de la movilidad en Sonora, mes de Noviembre |
| ```r gMR1 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_VR), size=1, colour="orange") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("a) Comercio y recreación") |
| gMR2 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_F), size=1, colour="darkgreen") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("b) Farmacias y abarrotes") |
| gMR3 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_P), size=1, colour="purple") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("c) Parques") |
| gMR4 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_ET), size=1, colour="brown") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("d) Estaciones de tránsito") |
| gMR5 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_AT), size=1, colour="red") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("e) Espacios de trabajo") |
| gMR6 <- ggplot(data=dataMR) + geom_line(aes(x=Fechamr, y=Porcentaje_H), size=1, colour="blue") + geom_hline(yintercept = 0) + theme_light() + xlab("Fecha") + ylab("Porcentaje") + ggtitle("f) Hogares") grid.arrange(gMR1,gMR2,gMR3,gMR4,gMR5,gMR6) ``` |
| * ¿Porqué estas gráficas se asocian con la movilidad? eso es por la razon de que, para llegar a cualquiera de estos lugares, hay que transportarse en con algún medio (carro, camión, bicicleta, patineta, etc.) y eso nos traduce la movilidad que hay en el estado de Sonora. |
| * la gráfica de hogares es la que nos representa mejor, ya que si la gente se queda en sus casas, podemos asegurar con mayor veracidad de que no hubo desplazos, por la que usaremos esos datos para relacionarlos con la calidad del aire. Las interpretaciones que se haran seran solo supuestos, ya que unos datos son especificos de Hermosillos y otros son de todo Sonora. |
r ggplot(data = Sonoramov) + geom_line(mapping = aes(x = Fechamr, y = Hogares_porciento)) + ggtitle("Situados en sus hogares") + transition_reveal(Fechamr) |
| * Como se aprecia en la gráfica interactiva, hay bajas que nos indican que mas gente salio de sus hogares para hacer algo. |
| * Recordando que : |
| ```r Dias <- calidadaire$Time |
| gconc1 <- ggplot(data=calidadaire) + geom_line(aes(x=Dias, y=concentracionSO2), colour="red") + ggtitle("Concentraciones en el aire, Noviembre") + ylab("Concentraciones") + xlab("Días") |
| gconc2 <- ggplot(data=calidadaire) + geom_line(aes(x=Dias, y=concentracionPM10), colour="green") + ggtitle("Concentraciones en el aire, Noviembre") + ylab("Concentraciones") + xlab("Días") |
| grid.arrange(gconc1,gconc2) ``` |
| ``` ## Warning: Removed 1 row(s) containing missing values (geom_path). |
| ## Warning: Removed 1 row(s) containing missing values (geom_path). ``` |
| * Las gráficas nos relacionan, que mientras mas gente se quedaba en sus hogares menos contaminantes habia en el aire, se ve un comportamiento de que concuerden los datos recordemos que son suposiciones por lo anterior dicho acerca de los datos |
calidadaire2 <- read_excel("calidadaire2.xlsx")
Horas <- calidadaire2$Time
ConcentracionSO2 <- calidadaire2$SO2
ConcentracionPM10 <- calidadaire2$PM10
ConcentracionO3 <- calidadaire2$O3
gCon1 <- ggplot(data=calidadaire2) +
geom_line(aes(x=Horas, y=ConcentracionSO2), colour="red") +
ggtitle("Concentraciones (SO2) en el aire por día") +
ylab("Concentraciones") + xlab("Horas")
gCon2 <- ggplot(data=calidadaire2) +
geom_line(aes(x=Horas, y=ConcentracionPM10), colour="blue") +
ggtitle("Concentraciones (PM10) en el aire por día") +
ylab("Concentraciones") + xlab("Horas")
gCon3 <- ggplot(data=calidadaire2) +
geom_line(aes(x=Horas, y=ConcentracionO3), colour="green") +
ggtitle("Concentraciones (O3) en el aire por día") +
ylab("Concentraciones") + xlab("Horas")
grid.arrange(gCon1, gCon2, gCon3)