Uvodni tečaj v analizo okoljskih podatkov: Praktični primeri dr. Asta Gregorič, Maruška Mole (Nova Gorica, oktober 2016) Najprej namestimo knjižnjico openair : library("openair", lib.loc="/usr/local/lib/R/site-library") 6.1 Prepoznavanje in spreminjanje časovnega zapisa a) V R uvozite oba podatkovna niza. bilje.meteo <- read.delim("bilje-meteo-primeri.txt") go.air <- read.csv("NG-air-primeri.csv") b) Uredite imena stolpcev za oba podatkovna okvirja. names(bilje.meteo)[1:9] <- c("date","p","T","rh","rain","ws","wd","glob.rad","diff.rad") c) Uredite časovni zapis - pretvorite zapis časa v pravilen format, nastavite čas v UTC. bilje.meteo$date <- as.POSIXct(strptime(bilje.meteo$date, format = "%Y-%m-%d %H:%M"), tz="Etc/GMT-1") bilje.meteo$date.UTC <- strftime(bilje.meteo$date, format = "%Y-%m-%d %H:%M", tz = "GMT") bilje.meteo$date <- as.POSIXct(strptime(bilje.meteo$date.UTC, format = "%Y-%m-%d %H:%M"), tz = "GMT") go.air$date <- as.POSIXct(strptime(go.air$date, format = "%Y-%m-%d %H:%M:%S"), tz = "Etc/GMT-1") go.air$date.UTC <- strftime(go.air$date, format = "%Y-%m-%d %H:%M", tz = "GMT") go.air$date <- as.POSIXct(strptime(go.air$date.UTC, format = "%Y-%m-%d %H:%M"), tz = "GMT") 6.2 Urejanje in združevanje podatkov a) Najpej za oba podatkovna okvirja uskladite časovni korak. Urejene podatke shranite v nov podatkovni okvir. bilje.meteo.1h <- timeAverage(bilje.meteo, avg.time = "1 hour") 1
15
Embed
Uvodni tečaj v analizo okoljskih podatkov: Praktični primeri · Uvodni tečaj v analizo okoljskih podatkov: Praktični primeri dr. Asta Gregorič, Maruška Mole ... wind dir. missing
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Uvodni tečaj v analizo okoljskih podatkov:Praktični primeri
dr. Asta Gregorič, Maruška Mole (Nova Gorica, oktober 2016)
b) Prikažite razmerje med temperaturo in relativno vlažnostjo, grupirano po posameznih mesecih.
scatterPlot(meteo.air, x = "rh", y = "T", group = "month",xlab = "RH (%)", ylab = expression("T (" * degree * "C)"),key.title = "Mesec",cex = 0.8)
RH (%)
T (
°C)
0
10
20
30
20 40 60 80 100
Mesec January February March April May June July August September October November December
c) Prikažite razmerje med temperaturo in relativno vlažnostjo glede na sončno obsevanje za obdobja, koni padavin.
scatterPlot(subset(meteo.air, rain == 0), x = "T", y = "rh", z = "glob.rad",main = "Odvisnost relativne vlaznosti od temperature zraka \n glede na soncnosevanje",xlab = expression("T (" * degree * "C)"), ylab = "RH (%)",key.title = "Glob. sevanje", cex = 0.6)
Odvisnost relativne vlaznosti od temperature zraka
glede na soncno sevanje
T (°C)
RH
(%
)
20
40
60
80
100
0 10 20 30
0
200
400
600
800
1000
5
d) Prikažite razmerje med temperaturo in relativno vlažnostjo glede na sončno obsevanje za vsa opazovanjav aprilu 2016 med 12. in 16. uro po lokalnem času.
scatterPlot(selectByDate(meteo.air, hour = 10:14, month = 5),x = "T", y = "rh", z = "glob.rad",main = "Odvisnost RH od T zraka glede na soncno sevanje (april, od 12:00 do16:00)",xlab = expression("T (" * degree * "C)"), ylab = "RH (%)",key.title = "Glob. sevanje")
Odvisnost RH od T zraka glede na soncno sevanje
(april, od 12:00 do 16:00)
T (°C)
RH
(%
)
40
60
80
15 20 25
100
200
300
400
500
600
700
800
900
1000
6
e) Veter prikažite z vetrovno rožo po posameznih sezonah.
d) Prikažite povprečen dnevni potek koncentracij NO, NO2, NOx in O3.
scatterPlot(meteo.air.pomlad, x = "ws", y = "PM10", type = "wd",main = "Odvisnost PM10 od smeri in hitrosti vetra",xlab = expression("Hitrost vetra (m s" ^-1 * ")"),ylab = expression("PM"[10] * " (" * mu * "g m" ^-3 * ")"))
Odvisnost PM10 od smeri in hitrosti vetra
Hitrost vetra (m s−1)
PM
10 (
µg m
−3)
0
50
100
NW
0 2 4 6 8
N NE
W
0
50
100
E
0
50
100
0 2 4 6 8
SW S
0 2 4 6 8
SE
14
e) Prikažite odvisnost koncentracij PM10 od hitrosti vetra glede grupirano po smeri vetra.
polarPlot(meteo.air.pomlad,pollutant = "PM10")
0
2
4 ws
6
8
10
W
S
N
E
mean
PM10
10
15
20
25
f) Prikažite razmerje med NO2, NOx in NO pri različnih koncentracijah O3.
scatterPlot(meteo.air.pomlad, x = "NOx", y = "NO2", z = "NO", type = "O3",main = "Razmerje med NO2, NOx in NO pri razlicnih koncentracijah O3")
Razmerje med NO2, NOx in NO pri razlicnih koncentracijah O3