ladyLein startpagina

0. R install & library
1. R start
2. Vectoren
(een rij waarden)

3. Matrixen
(tabellen)

4. Statistieken
(min, max, gemiddelde, standaard defiatie)

5. Factoren
(-categorieën/typen)

6. Data frames
(wat is een dataframe,
inlezen txt en csv bestanden)

7. Correlatie in de grafiek
8. Plot
9. GGplot2
(lijn, staaf, taart)

10. Functies
(o.a.if else, for, while, string, datum)

11. SQL / dplyr
(gegevens ophalen uit tabellen)

12. WAR meetkastjes en KNMI
- Locaties meetkastjes
- Data één meetkastje
- Meerdere meetkastjes +tijdreeks
- Waar welke meetkastjes
- KNMI data
- WAR met KNMI data
- Analyse meetkastjes
- Waarnemingen
13. Qgis
gegevens op de kaart zetten



KNMI data


# maak een variabele genaamd 'start', met het beginmoment van je grafiek
start<-"2017-01-01,00:00"

# maak een variabele genaamd 'eind', met het eindmoment van je grafiek
end<-"2017-12-31,23:59"

# zet de starttijd en eindtijd om in het formaat van de KNMI API
knmistart<-unlist(strsplit(start, ","))[1]
knmistart<-gsub("-", "", knmistart)
knmiend<-unlist(strsplit(end, ","))[1]
knmiend<-gsub("-", "", knmiend)

# haal temperatuur en luchtvochtigheid data op van het KNMI
knmidata<-read.table(paste("http://projects.knmi.nl/klimatologie/uurgegevens/getdata_uur.cgi?stns=260&vars=T:U&start=",knmistart,"01&end=",knmiend,"24",sep=""), sep=",", header=F)
# voeg kolomnamen toe
colnames(knmidata) <- c("station", "dag", "uur", "temperatuur", "luchtvochtigheid")

# mogelijke data van het KNMI om uit te kiezen, of allemaal in één keer
knmidata<-read.table(paste("http://projects.knmi.nl/klimatologie/uurgegevens/getdata_uur.cgi?stns=260&vars=DD:FF:FX:T:U:SQ:Q:DR:R:O:S:P&start=",knmistart,"01&end=",knmiend,"24",sep=""), sep=",", header=F)
colnames(knmidata) <- c("station", "dag", "uur", "windrichting", "windsnelheid", "windstoot", "temperatuur", "relvocht", "duurzon","straling","duurneerslag","regenvoorkomend","onweervoorkomend", "sneeuwvoorkomend","luchtdruk")

# zet de KNMI UTC tijd om naar lokale tijd
tsknmi <- as.POSIXct(strptime(paste(knmidata$dag,knmidata$uur, sep=""), "%Y%m%d%H"), tz="UTC")

# verschuif de KNMI tijd 30 minuten naar voren,
# omdat de meetwaarden het gemiddelde zijn over het voorgaande uur
knmidata$localtime <- as.POSIXlt(tsknmi, "CET", tz="CET")-30*60
attributes(knmidata$localtime)$tzone <- "CET"

# voeg een kolom toe met het station 'id': knmi
knmidata$id<-rep("knmi",dim(knmidata)[1])

# deel de temperatuur door 10 om dezelfde schaal als MJS te krijgen
knmidata$temperatuur<- knmidata$temperatuur/10

#plot
ggplot(data=knmidata, aes(localtime,temperatuur, colour = as.factor(id))) +
geom_line(aes(group = as.factor(id)) )




# Met x-as opmaken
# Datums om de 15 dagen en 90 graden tov de x-as.
ggplot(data=knmidata, aes(localtime,temperatuur, colour = as.factor(id))) +
geom_line(aes(group = as.factor(id)) ) +
scale_x_datetime(breaks = date_breaks("15 day"),labels = date_format("%d/%m")) + theme(axis.text.x = element_text(angle = 90, hjust = 1))



Terug naar top