Usare R per dati di qualità dell'aria

demo

Vediamo una dimostrazione di quello che potrebbe fare R con i dati di qualità dell'aria:
http://spark.rstudio.com/arpaer/openair3/

Cosa c'è dietro questa applicazione web dimostrativa?

codice: openair

Innanzitutto carico il pacchetto e i dati

library(openair)
load("../ShinyApps/openair3/pm10.RData")

Seleziono solo alcuni anni…

Dat <- selectByDate(Dat, year = 2011:2012)

…e solo alcune stazioni

Dat <- subset(Dat, Name %in% c("Cittadella", "Risorgimento"))

grafici

I tre grafici sono fatti con la funzione timeVariation()

myPlot <- timeVariation(Dat, pollutant = "pm10", group = "Province")

La funzione genera diversi pannelli, scelgo di visualizzare quello con i mesi in ascissa

plot(myPlot, subset = "month")

plot of chunk unnamed-chunk-5

statistiche

Per generare la tabella delle statistiche uso la funzione aqStats()

colnames(Dat)[3] <- "site"  #i nomi dei siti stanno nella terza colonna della mia matrice
aqStats(Dat, pollutant = "pm10", transpose = TRUE)
##    year       variable Cittadella PM10 Risorgimento PM10
## 1  2011   data.capture           98.10             94.80
## 2  2011           mean           36.40             33.81
## 3  2011        minimum            1.00              3.00
## 4  2011        maximum          138.00            148.00
## 5  2011         median           31.00             28.00
## 6  2011      max.daily          138.00            148.00
## 7  2011  max.rolling.8           83.88             88.88
## 8  2011 max.rolling.24           67.59             67.08
## 9  2011  percentile.95           72.15             76.75
## 10 2011  percentile.99          108.58            103.75
## 11 2011     days.gt.50           61.00             62.00
## 12 2012   data.capture           98.40              0.00
## 13 2012           mean           36.08                NA
## 14 2012        minimum            4.00                NA
## 15 2012        maximum          218.00                NA
## 16 2012         median           31.00                NA
## 17 2012      max.daily          218.00                NA
## 18 2012  max.rolling.8          111.67                NA
## 19 2012 max.rolling.24           72.73                NA
## 20 2012  percentile.95           73.05                NA
## 21 2012  percentile.99          110.28                NA
## 22 2012     days.gt.50           70.00                NA

codice: shiny

Per trasformare il tutto in una web app interattiva si usa shiny, ma questo è un altro capitolo…

nota

Questa pagina HTML è stata creata con il pacchetto R knitr, che rende piuttosto facile la documentazione dei codici R all'interno dell'IDE RStudio.

riferimenti