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 if else, for, while, repeat quantile, aggregate 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 |
FunctiesIf elseWordt er aan een voorwaarde voldaan, doe dan ietszonee, doe wat anders x=10 if (x<20){ print("hoi klein getal") } else { print("hallo groot getal") } antwoord: hoi klein getal For lusDoe een opgegeven aantal keer ietsfor (i in 1:3) { print("hoi") } antwoord: [1] "hoi" [1] "hoi" [1] "hoi" While lusDoe iets zolang er aan de voorwaarde wordt voldaanEerst kijken of aan de voorwaarde wordt voldaan, dan zoja uitvoeren x<-3 while (x>0) { y<-x toString(y) s<-c(y,"=groter dan 0") print(s) x<-x-1 } antwoord [1] "3" "=groter dan 0" [1] "2" "=groter dan 0" [1] "1" "=groter dan 0" RepeatHerhaal ietsEerst uitvoeren, dan kijken of het nog een keer moet x <- 3 repeat { y<-x toString(y) s<-c(y,"=groter dan 0") print(s) x = x-1 if (x == 0){ break } } antwoord [1] "3" "=groter dan 0" [1] "2" "=groter dan 0" [1] "1" "=groter dan 0" ReplicateDoe hetzelfde een aantal keerReplicate heeft 2 argumenten: Het eerste moet een positief geheel getal x zijn. Het tweede argument is de expressie die x keer zal worden uitgevoerd. We willen bijvoorbeeld een histogram maken van de uitkomst van 1000 experimenten in elk waarvan we de gemiddelde waarde berekenen van 100 worpen met een dobbelsteen: replicate doet iets meerdere keren. hist(replicate(1000, mean(sample(1:6, 100, replace=TRUE)))) De functie sample trekt 100 keer random een getal uit de reeks 1, 2, 3, 4 , 5, 6, met teruglegging. We berekenen voor elke 100 trekkingen het gemiddelde, en dat berekenen van het gemiddelde over 100 trekkingen herhalen we 1000 keer. Herhalen zonder lusx <- 1:10y <- x * 10 antwoord [1] 10 20 30 40 50 60 70 80 90 100 Quantile: opdelen in gelijke stukkenx<-c(1,2,3,4,5)quantile(x) antwoord: quantile(x,0.01) antwoord 1% 1.04 quantile(x,0.99) antwoord 99% 4.96
Functies op een kolom of rijapply()Rijen worden aangeduid met 1, kolommen met 2. kolommen optellen apply(getalletjes, 2, sum) antwoord one 15, two 40 rijen optellen apply(getalletjes, 1, sum) antwoord 7 9 11 13 15 apply(getalletjes, 2, mean) gemiddeld antwoord one 3 two 8 apply(getalletjes, 2, min) minimum antwoord one 1 two 6 apply(getalletjes, 2, max) maximum antwoord one 5 two 10 Zijn er kolommen in de tabel die geen getallen hebben, bv namen, dan heb ik dit nog niet aan de praat gekregen. Dan Aggregate() gebruiken, die kan meer, maar dan moet je een kolom tot categorie benoemen. Terug naar top |