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 diagrammen
- staaf diagrammen
- taart diagrammen
10. Functies
(o.a.if else, for, while, string, datum)

11. SQL / dplyr
(gegevens ophalen uit tabellen)

12. WAR meetkastjes en KNMI
(data ophalen en in grafiek zetten)

13. Qgis
gegevens op de kaart zetten



GGplot2


Lijndiagrammen (met x en y waarde)


Lijn of punten
draakinfo<-read.table("http://www.ladylein.nl/R/VB/draakinfo.txt",
sep = "\t", header = T)


Grafiek met lijn
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht))
+ geom_line()

ggplot(bron, x-as en y-as)
geom_line() grafiek is een lijn
geom_point() grafiek zijn punten

aes() staat voor esthetics
Esthetisch betekent mooi
maar je kan aes() niet weglaten
anders weet de grafiek niet welke kolom de x-as en
welke kolom de y-as is

Lijnkleur bepalen
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht))
+ geom_line(color="red", size=5)

Je kan de kleur invullen of de hexadecimale code voor de kleur. Voordeel dan hoef je niet te weten hoe de kleur heet.
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht))
+ geom_line(color="#FF0000", size=5)

Klik HIER om de kleurcode te bepalen.
Kleur als label
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht,
color="draak")) + geom_line()
Kolom als kleur
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht,
color=aantaleieren)) + geom_point()
Kolom als grootte
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht,
size=aantaleieren)) + geom_point()

Namen als puntvormen
(rondje, vierkantje, kruisje, driehoekje e.d.)
maak een kolom tot categorie:
factor(draakinfo$naam)
Als je factor gebruikt dan werkt de functie shape die de punten verschillende symbolen geeft.
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht,
shape = naam)) + geom_point()

Alle trucs tegelijk met uitgebreide tabel


zelf de kleur bepalen met scale_colour_gradient
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht, color=aantaleieren)) + geom_point() + scale_colour_gradient(low="blue", high="red")
grootte van de punten met size
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht, color=aantaleieren, size=aantalprooi)) + geom_point() + scale_colour_gradient(low="blue", high="red")
extra aanduiding vorm met shape
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht, color=aantaleieren, size=aantalprooi, shape=naam)) + geom_point() + scale_colour_gradient(low="blue", high="red")


Titel en x-as en y-as labels toevoegen en aanpassen
ggplot(draakinfo, aes(x = maxleeftijd, y = gewicht, color=aantaleieren, size=aantalprooi, shape=naam)) + geom_point() + scale_colour_gradient(low="blue", high="red") + ggtitle("Draken-info") + xlab("Maximale leeftijd") + ylab("Het gewicht")

Legenda zelf bepalen


labeltje<-c("DE lijn")
y<-c(1,2,3,4,5)
x<-c(1,2,3,4,5)
grafieklijnen<-data.frame(x,y)
ggplot(grafieklijnen, aes(x, y)) +
geom_segment(aes(xend = x, yend = y,
linetype = labeltje)) + geom_line()
of met punten: geom_point()



Trent-lijnen


diamanteninfo<-read.table("C://R/VB/
diamanteninfo.txt", sep = "\t", header = T)
diamanteninfo


Grafiek met punten
ggplot(diamanteninfo, aes(x = karaat, y = prijs)) +
geom_point()

Grafiek met trendlijn
ggplot(diamanteninfo, aes(x = karaat, y = prijs)) +
geom_point() + geom_smooth()
Je kan de punten ook weglaten.

Elke diamantkleur een eigen gekleurde lijn
ggplot(diamanteninfo, aes(x = karaat, y = prijs,
color=kleur)) + geom_point() + geom_smooth()
Zonder geom_smooth() heb je alleen gekleurde punten

Je kan de aes() ook bij geom_point() zetten.
Je kan de plot opdracht in een variabele zetten.
plotdiamanten<-ggplot(diamanteninfo, aes(x=karaat,
y=prijs)) +geom_point(aes(color=kleur))


Titel boven de grafiek
en x-as en y-as label aanpassen
ggplot(diamanteninfo, aes(x = karaat, y = prijs,
color=kleur)) + geom_point() + geom_smooth()
+ ggtitle("Diamanten-info") + xlab("Aantal Karaat") + ylab("De Prijs")

X-as en Y-as labels met waarden bepalen
ggplot(diamanteninfo, aes(x = karaat, y = prijs,
color=kleur))
+ geom_point() + geom_smooth()
+ ggtitle("Diamanten-info")
+ xlab("Aantal Karaat") + ylab("De Prijs")
+ scale_x_continuous(breaks=seq(0, 10, 0.5))
+ scale_y_continuous(breaks=seq(90, 200, 10))


Met allemaal opmaak
ggplot(diamanteninfo, aes(x = karaat, y = prijs,
color=kleur)) + geom_point() + geom_smooth()
+ ggtitle("Diamanten\ninformatie")
+ theme(plot.title = element_text(size=20,
face="bold", colour="#990000"))
+ xlab("Aantal Karaat") + ylab("De Prijs")
+ scale_x_continuous(breaks=seq(0, 10, 0.5))
+ scale_y_continuous(breaks=seq(90, 200, 10))
+ theme(axis.title.x = element_text(face="bold",
colour="#990000", size=10),
axis.text.x = element_text(angle=90,
vjust=0.5, size=10))
+ theme(axis.title.y = element_text(face="bold",
colour="#990000", size=10),
axis.text.y = element_text(angle=0,
vjust=0.5, size=10))
\n betekent volgende regel

hjust en vjust bepalen hoe de tekst staat.
hjust = 0 dan zit het begin van de tekst aan het labelpunt.
hjust = 1 dan zit het einde van de tekst aan het labelpunt.
dat wil je want anders staat de x-as tekst in je grafiek.




Linetype gebruik je om de soort lijn te wijzigen
geom_line(linetype = "dashed")






Terug naar top