Objectius
1. Crear un pòster en anglès analitzant les dades de contaminació atmosfèrica i metereològiques des del 1991 fins al 2021 hora a hora, dia a dia.
2. Treure conclusions científiques amb estadística i gràfics avançats amb Openair R i RStudio
1. Crear un pòster en anglès analitzant les dades de contaminació atmosfèrica i metereològiques des del 1991 fins al 2021 hora a hora, dia a dia.
2. Treure conclusions científiques amb estadística i gràfics avançats amb Openair R i RStudio
Les dades es poden trobar googlejant "dades obertes atmòsfera" i "dades obertes meteocat":
Dades de contaminació atmosfèrica
Hem de tenir en compte que les dades són horàries per contaminació i les dades meteorològiques són semihoràries (cada 30 minuts) que hem de combinar en un únic dataframe per fer gràfics que relaciones ambdós tipus de dades. Les dades de meteo seràn de l'estació més propera a la nostra de contaminació.
De les dades meteorològiques els codis de les variables que necessitem són 30 per wind speed que posarem ws, i 31 per wind direction que posarem wd. Les dates seran en format ISO8601 2021-03-15 16:00:00 amb format POSIXct amb el nom date. Els noms date, ws i wd són requisits de Openair
Es necessari instal.lar el programari RStudio i els paquets tidyverse i openair.
Tidyverse permet ordenar les dades. Recordeu la famosa dita científica que diu que el 80% estem ordenant les dades i el 20% de temps restant queixant-nos de la seva ordenació.
Openair permet fer estudis de l'aire, hora a hora, dia a dia, any a any de forma específica i avançada.
Per instal.lar aquest 2 paquets de R has d'escriure:
install.packages (c("tidyverse","openair"))
Hem de llegir les dades del nostre ordinador:
> city<-read.csv("C://Users/YOURCOMPUTERNAME/Documents/city.csv")
> View(city)
Canviem les hores de les columnes per les files
>city1<-pivot_longer(city,cols=c(h01,h02,h03,h04,h05,h06,h07,h08,h09,h10,h11,h12,h13,h14, h15,h16,h17,h18,h19,h20,h21,h22,h23,h24), names_to="hour", values_to = "value")
>city2<-city1[-c(1,2,4,6:16)]
>write.csv(city2,"C:\\Users\\YOURCOMPUTERNAME\\Documents\\city2.csv")
Esborrem T00.00.00.000 i substituim les hores h01, etc per 01:00:00 fins obtenir les dates en format ISO:

Combinem data i hora junts a city4.csv emprant LibreOffice Calc o RStudio
> city4 <- city3 %>% mutate(name=paste0(data, " ", hour))
Creem city5 juntant dia i hora sota el nom de columna date

library(openair)
city5NO2 <- subset(city5, pollutant=="NO2")
city5NO2$date<-as.POSIXct(city5NO2$date,"%Y-%m-%d %H:%M:%S", tz="Europe/Madrid")
class(city5NO2$date)
[1] "POSIXct" "POSIXt"
View(city5NO2)



> library(tidyverse)
> library (openair)
> city6<-pivot_wider(city5, names_from= pollutant, values_from =value)
> View (city6)
> write.csv(city6,"C:\\Users\\ELMEUNOM\\Documents\\LAMEVACIUTAT\\city6.csv")
class(city6$date)
[1] "character"
city6$date<- as.POSIXct(city6$date,format="%Y-%m-%d %H:%M:%S",tz="Europe/Madrid")
timeVariation(city6, pollutant=c("O3","NO2","H2S","NO","HCNM","CO","SO2","HCT", "NOX","PM10"), main="Air pollution in MYCITYNAME (1991-2021)")
> wind<-read.csv("C://Users/YOURCOMPUTERNAME/Documents/wind.csv")
> View(wind)
wind1←wind[-c(1,2,5,7,8)]
wind2<-pivot_wider(wind1,names_from = CODI_VARIABLE, values_from = VALOR_LECTURA)
names(wind2)[names(wind2) == "31"] <- "wd"
names(wind2)[names(wind2) == "30"] <- "ws"
names(wind2)[names(wind2) == "DATA_LECTURA"] <- "date"
write.csv(wind2,"C:\\Users\\YOURCOMPUTERNAME\\Documents\\wind2.csv")
Les dades de descarreguem de la base de dades de meteorologia indicades en l'apartat anterior son semihoràries i expressades en AM i PM i necessitem procedir amb Cerca i Reemplaça de Calc perquè tingui el mateix format que les dades de contaminació.
Amb library (openair) i wind6<-timeAverage(wind5, time.avg="hour") creem les dades horàries a partir de semihoràries.
Hem d'estar segurs que la classe de la date de la base de dades del vent es una data tipus POSIXct per poder combinar-la
Es pot unir amb diferents instruccions per exemple amb una d'openair:
> cityall<-merge(city6, wind6, by ="date")
> View (cityall)
I ja podem fer pollutionRose i veure d'on vé la contaminació.
Estudiar per a l'exàmen de CMC i utilitzar la informació al pòster científic que analitza dades de la teva ciutat:
Llibre d'Openair del Dr. David C. Carslaw (University of York, UK).
Podem fer-ho amb diferents biblioteques de R per fer "forecast" o previsió de dades futures a partir de dades presents:

View (forecast) es veuen totes les dades previstes anteriors i futures amb tots els paràmetres i components temporals emprats per l'algorisme prophet. PODEM COMPROVAR SI ELS VALORS PREVISTOS S'HAN COMPLERT I AMB QUIN ERROR RESPECTE ELS NOUS VALORS REALS MESURATS
Per veure les dades finals:
tail(forecast[c('ds', 'yhat', 
+ 'yhat_lower', 'yhat_upper')])
TAULA OBTINGUDA: amb valors previstos (yhat) , previst màxim (yhat_lower) i previst mínim (yhat_lower)
ds yhat yhat_lower yhat_upper
77223 2022-03-04 23:00:00 36.04179 13.277273 58.87805
77224 2022-03-05 23:00:00 25.11000 0.532229 49.23281
77225 2022-03-06 23:00:00 26.99720 3.531979 50.60021
77226 2022-03-07 23:00:00 34.88387 11.911203 58.48056
77227 2022-03-08 23:00:00 33.60286 8.947426 56.70240
77228 2022-03-09 23:00:00 35.81467 12.322405 58.83855
Licensed under the Creative Commons Attribution Share Alike License 4.0